首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >衬底Frontier使用(与EVM兼容的客户端)是什么风格的底层EVM?

衬底Frontier使用(与EVM兼容的客户端)是什么风格的底层EVM?
EN

Stack Overflow用户
提问于 2021-08-05 09:38:28
回答 1查看 148关注 0票数 3

我基本上按照基板开发前沿车间教程(按照Frontier Evm文档使用SputnikVM作为底层EVM引擎)成功地构建了自己的EVM兼容的基板。

我知道,EVM在每一种情况下的行为或多或少都不同,例如,在一些叉子之后,各种EVM OPCODEs的气体成本降低或增加。

话虽如此,这个基于人造卫星的客户到底是什么样子的呢?这个客户是类似于柏林,伊斯坦布尔,还是类似的老东西,如宅地或拜占庭?我是应该使用像0.8.6+commit.11564f7e这样的最新solc编译器,还是应该使用0.6.0+commit.26b700770.4.0+commit.acd334c9之类的旧编译器?

我想知道,因为我需要准确地记录每个合同部署或方法调用的燃气成本,或者防止不兼容。

EN

回答 1

Stack Overflow用户

发布于 2022-01-06 18:09:27

Sputnik实现包含不同风格的EvmConfig,供您选择。

如果您查看源代码,您将发现其中的四个:

代码语言:javascript
复制
impl Config {
    /// Frontier hard fork configuration.
    pub const fn frontier() -> Config { ... }

    /// Istanbul hard fork configuration.
    pub const fn istanbul() -> Config { ... }

    /// Berlin hard fork configuration.
    pub const fn berlin() -> Config { ... }

    /// london hard fork configuration.
    pub const fn london() -> Config { ... }
}

根据边界的托盘-evm文件

气体配置是可配置的。现在,提供了一个预定义的伦敦硬叉配置选项。

因此,目前他们正在使用伦敦硬分叉配置,这是由此承诺确认的,这表明他们将默认配置从伊斯坦布尔切换到伦敦:

代码语言:javascript
复制
...
        /// EVM config used in the module.
        fn config() -> &'static EvmConfig {
-           &ISTANBUL_CONFIG
+           &LONDON_CONFIG
        }
    }

@@ -571,7 +571,7 @@ impl GasWeightMapping for () {
    }
}

-static ISTANBUL_CONFIG: EvmConfig = EvmConfig::istanbul();
+static LONDON_CONFIG: EvmConfig = EvmConfig::london();
...

如果您想要每个硬叉的详细参数,请确保检查这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68664158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档