aboutsummaryrefslogtreecommitdiffstats
path: root/eth
diff options
context:
space:
mode:
authorGuillaume Ballet <gballet@gmail.com>2018-09-20 15:44:35 +0800
committerPéter Szilágyi <peterke@gmail.com>2018-09-20 15:44:35 +0800
commitda29332c5f4c368ff03ec4e7132eefac48fed1ae (patch)
treefc9a9d2bd594ef22f7b9d9fca8bd410c28304f99 /eth
parent3fec73500b60c82a827b36bb03f8ae011b861e72 (diff)
downloaddexon-da29332c5f4c368ff03ec4e7132eefac48fed1ae.tar
dexon-da29332c5f4c368ff03ec4e7132eefac48fed1ae.tar.gz
dexon-da29332c5f4c368ff03ec4e7132eefac48fed1ae.tar.bz2
dexon-da29332c5f4c368ff03ec4e7132eefac48fed1ae.tar.lz
dexon-da29332c5f4c368ff03ec4e7132eefac48fed1ae.tar.xz
dexon-da29332c5f4c368ff03ec4e7132eefac48fed1ae.tar.zst
dexon-da29332c5f4c368ff03ec4e7132eefac48fed1ae.zip
core/vm: add switches to select evm+ewasm interpreters (#17687)
Interpreter initialization is left to the PRs implementing them. Options for external interpreters are passed after a colon in the `--vm.ewasm` and `--vm.evm` switches.
Diffstat (limited to 'eth')
-rw-r--r--eth/backend.go6
-rw-r--r--eth/config.go5
2 files changed, 10 insertions, 1 deletions
diff --git a/eth/backend.go b/eth/backend.go
index 9926225f2..7d8060d77 100644
--- a/eth/backend.go
+++ b/eth/backend.go
@@ -149,7 +149,11 @@ func New(ctx *node.ServiceContext, config *Config) (*Ethereum, error) {
rawdb.WriteDatabaseVersion(chainDb, core.BlockChainVersion)
}
var (
- vmConfig = vm.Config{EnablePreimageRecording: config.EnablePreimageRecording}
+ vmConfig = vm.Config{
+ EnablePreimageRecording: config.EnablePreimageRecording,
+ EWASMInterpreter: config.EWASMInterpreter,
+ EVMInterpreter: config.EVMInterpreter,
+ }
cacheConfig = &core.CacheConfig{Disabled: config.NoPruning, TrieNodeLimit: config.TrieCache, TrieTimeLimit: config.TrieTimeout}
)
eth.blockchain, err = core.NewBlockChain(chainDb, cacheConfig, eth.chainConfig, eth.engine, vmConfig)
diff --git a/eth/config.go b/eth/config.go
index f1a402e37..efbaafb6a 100644
--- a/eth/config.go
+++ b/eth/config.go
@@ -121,6 +121,11 @@ type Config struct {
// Miscellaneous options
DocRoot string `toml:"-"`
+
+ // Type of the EWASM interpreter ("" for detault)
+ EWASMInterpreter string
+ // Type of the EVM interpreter ("" for default)
+ EVMInterpreter string
}
type configMarshaling struct {