mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 10:52:25 +00:00
cmd/evm: enable all forks by default in run command
The default genesis was just empty with no forks at all, which is annoying because contracts will be relying on opcodes introduced in a fork. So this changes the default to have all forks enabled.
This commit is contained in:
parent
bf5682a492
commit
115561248c
1 changed files with 29 additions and 35 deletions
|
|
@ -33,7 +33,6 @@ import (
|
||||||
"github.com/ethereum/go-ethereum/core"
|
"github.com/ethereum/go-ethereum/core"
|
||||||
"github.com/ethereum/go-ethereum/core/rawdb"
|
"github.com/ethereum/go-ethereum/core/rawdb"
|
||||||
"github.com/ethereum/go-ethereum/core/state"
|
"github.com/ethereum/go-ethereum/core/state"
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
|
||||||
"github.com/ethereum/go-ethereum/core/vm"
|
"github.com/ethereum/go-ethereum/core/vm"
|
||||||
"github.com/ethereum/go-ethereum/core/vm/runtime"
|
"github.com/ethereum/go-ethereum/core/vm/runtime"
|
||||||
"github.com/ethereum/go-ethereum/eth/tracers/logger"
|
"github.com/ethereum/go-ethereum/eth/tracers/logger"
|
||||||
|
|
@ -117,15 +116,14 @@ func runCmd(ctx *cli.Context) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
tracer vm.EVMLogger
|
tracer vm.EVMLogger
|
||||||
debugLogger *logger.StructLogger
|
debugLogger *logger.StructLogger
|
||||||
statedb *state.StateDB
|
statedb *state.StateDB
|
||||||
chainConfig *params.ChainConfig
|
chainConfig *params.ChainConfig
|
||||||
sender = common.BytesToAddress([]byte("sender"))
|
sender = common.BytesToAddress([]byte("sender"))
|
||||||
receiver = common.BytesToAddress([]byte("receiver"))
|
receiver = common.BytesToAddress([]byte("receiver"))
|
||||||
genesisConfig *core.Genesis
|
preimages = ctx.Bool(DumpFlag.Name)
|
||||||
preimages = ctx.Bool(DumpFlag.Name)
|
blobHashes []common.Hash // TODO (MariusVanDerWijden) implement blob hashes in state tests
|
||||||
blobHashes []common.Hash // TODO (MariusVanDerWijden) implement blob hashes in state tests
|
|
||||||
)
|
)
|
||||||
if ctx.Bool(MachineFlag.Name) {
|
if ctx.Bool(MachineFlag.Name) {
|
||||||
tracer = logger.NewJSONLogger(logconfig, os.Stdout)
|
tracer = logger.NewJSONLogger(logconfig, os.Stdout)
|
||||||
|
|
@ -135,30 +133,30 @@ func runCmd(ctx *cli.Context) error {
|
||||||
} else {
|
} else {
|
||||||
debugLogger = logger.NewStructLogger(logconfig)
|
debugLogger = logger.NewStructLogger(logconfig)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
initialGas := ctx.Uint64(GasFlag.Name)
|
||||||
|
genesisConfig := new(core.Genesis)
|
||||||
|
genesisConfig.GasLimit = initialGas
|
||||||
if ctx.String(GenesisFlag.Name) != "" {
|
if ctx.String(GenesisFlag.Name) != "" {
|
||||||
gen := readGenesis(ctx.String(GenesisFlag.Name))
|
genesisConfig = readGenesis(ctx.String(GenesisFlag.Name))
|
||||||
genesisConfig = gen
|
if genesisConfig.GasLimit != 0 {
|
||||||
db := rawdb.NewMemoryDatabase()
|
initialGas = genesisConfig.GasLimit
|
||||||
triedb := trie.NewDatabase(db, &trie.Config{
|
}
|
||||||
Preimages: preimages,
|
|
||||||
HashDB: hashdb.Defaults,
|
|
||||||
})
|
|
||||||
defer triedb.Close()
|
|
||||||
genesis := gen.MustCommit(db, triedb)
|
|
||||||
sdb := state.NewDatabaseWithNodeDB(db, triedb)
|
|
||||||
statedb, _ = state.New(genesis.Root(), sdb, nil)
|
|
||||||
chainConfig = gen.Config
|
|
||||||
} else {
|
} else {
|
||||||
db := rawdb.NewMemoryDatabase()
|
genesisConfig.Config = params.AllEthashProtocolChanges
|
||||||
triedb := trie.NewDatabase(db, &trie.Config{
|
|
||||||
Preimages: preimages,
|
|
||||||
HashDB: hashdb.Defaults,
|
|
||||||
})
|
|
||||||
defer triedb.Close()
|
|
||||||
sdb := state.NewDatabaseWithNodeDB(db, triedb)
|
|
||||||
statedb, _ = state.New(types.EmptyRootHash, sdb, nil)
|
|
||||||
genesisConfig = new(core.Genesis)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
db := rawdb.NewMemoryDatabase()
|
||||||
|
triedb := trie.NewDatabase(db, &trie.Config{
|
||||||
|
Preimages: preimages,
|
||||||
|
HashDB: hashdb.Defaults,
|
||||||
|
})
|
||||||
|
defer triedb.Close()
|
||||||
|
genesis := genesisConfig.MustCommit(db, triedb)
|
||||||
|
sdb := state.NewDatabaseWithNodeDB(db, triedb)
|
||||||
|
statedb, _ = state.New(genesis.Root(), sdb, nil)
|
||||||
|
chainConfig = genesisConfig.Config
|
||||||
|
|
||||||
if ctx.String(SenderFlag.Name) != "" {
|
if ctx.String(SenderFlag.Name) != "" {
|
||||||
sender = common.HexToAddress(ctx.String(SenderFlag.Name))
|
sender = common.HexToAddress(ctx.String(SenderFlag.Name))
|
||||||
}
|
}
|
||||||
|
|
@ -212,10 +210,6 @@ func runCmd(ctx *cli.Context) error {
|
||||||
}
|
}
|
||||||
code = common.Hex2Bytes(bin)
|
code = common.Hex2Bytes(bin)
|
||||||
}
|
}
|
||||||
initialGas := ctx.Uint64(GasFlag.Name)
|
|
||||||
if genesisConfig.GasLimit != 0 {
|
|
||||||
initialGas = genesisConfig.GasLimit
|
|
||||||
}
|
|
||||||
runtimeConfig := runtime.Config{
|
runtimeConfig := runtime.Config{
|
||||||
Origin: sender,
|
Origin: sender,
|
||||||
State: statedb,
|
State: statedb,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue