关于以太坊智能合约升级,编译器版本兼容性问题的介绍

相信很多智能合约初级开发者,在使用以太坊生态平台进行区块链项目开发的过程中,当遇到以太坊智能合约升级了,那么对于原有的编辑过得代码,在新的编译器版本中,并不能完美兼容,经常报错,那么下面信比特技术人员,分析具体原因,对于以太坊升级后,智能合约兼容性问题进行拆解。
以太坊智能合约升级兼容性图解

以太坊智能合约编译器知识点分析:

(1)关于solidity语法升级,功能不停更新完善的补充!部署智能合约实际上是部署的16进制编码(bytecode),使用不同的编译器版本编码智能合约,虚拟机认可的还是16进制编码,不同的编译器影响的是编码语法的写法,

(2)问题分析:

那么,以太坊升级了,是不是之前的智能合约还能兼容?

有没有向下兼容智能合约版本?

例如:4.0或5.0写的合约,6.0编译不通过,为什么?

答:编码语法和编译器版本是一套的,实际上和链上的虚拟机版本不是一回事儿,用4.0语法写的智能合约,用4.0的编译器去编译,编译好后,当时以太坊链上的虚拟机版本也是低版本,肯定认可。如果虚拟机版本升级了,但是仍然可以运行之前版本编译的bytecode,以太坊虚拟机升级,和编译器、编码语法是没有关系的。这一点就得到证明(不然,链上的智能合约都没法用了,这不扯淡了吗。)

关于以太坊智能合约兼容性问题得出结论:

我们逮住一个开发文档,最好是0.6.x以上的版本进行学习就可以了,但是,如果学习的是0.4.x的也没有关系,因为,你用配套的编译器编译就可以了,最后呈现给虚拟机的也是bytecode,虚拟机是向下兼容的,而编译版本是不会向下兼容的。因为有增删改功能组件的影响。

当然更高的编译器版本代表着新的、完善的功能使用。

免责声明:本文由信比特作者原创文章,不构成投资建议,请谨慎对待。

版权声明:信比特作者保留原创权利。文章为作者独立观点,转载请注明出处

原文链接:http://www.bitpoa.com/BlockchainCollege/114.html

生成海报
收藏

相关推荐

2021年2月份将迎来以太坊的牛市春天!(图文)

前言:从行情表现上看,以太坊似乎仍然是比特币的“跟屁虫”;然而在梳理其基本面和消息面后,我们认为,以太坊将很有可能在2月实现大爆发,走出不一样的趋势。下面,我们将一一介绍以太坊在2月即将迎来的重大利好,以及为什么越来越多机构和大户开始看好以太坊。 ...

Reddit宣布与以太坊基金会合作的思考

前言:中国已经开始在国际上布局社交网络,但是最近发生在Reddit社区的walltreetbets匿名组织公开抵制华尔街空投机构,以及取得了完美的胜利,把Reddit再次推向了公众的视野,同时,Reddit极力拥抱区块链,在uniswap上的议论热潮也推向了顶峰。 ...

关于以太坊智能合约ERC20代币精度

前言:在撰写本文时(Solidity v0.4.24),Solidity 不支持定点或浮点数。这意味着浮点表示必须用 Solidity 中的整数类型进行表示。如果没有正确实施,这可能会导致错误/漏洞。 ...

举例说明以太坊扩容方案optimistic rollup运作方式

前言:optimistic rollup是以太坊 layer 2 扩展方案中的佼佼者,既能把可扩展性的蛋糕做大,也能让你吃到 —— 至少是吃到一部分吧。大家之所以对optimistic rollup如此兴奋,是因为它及它的表亲—— ZK-Rollup,克服了侧链、 plasma、状态通道等方案都没有解决的 layer 2 难题。 ...

以太坊技术开发课程02:深入学习以太坊区块叔伯块及挖矿奖励分配(图文)

前言:以太坊生态优于比特币系统,同时为了区块链项目的应用落地,在出块时间做了很大的调整,这样子提高了TPS吞吐量,同时,也给矿工挖矿带来了一些负荷,因为出块时间的缩短(比特币系统为10分钟左右出块),势必会让矿工同时挖到相同的区块,如果不对这种逻辑进行优化,对于矿工来说是不公平的,所以,以太坊叔块就产生了,下面,让我们来详细的讲解关于以太坊叔块的概念和怎么样解决矿工奖励的问题,进行分析讨论。 ...

0 条评论

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

关于以太坊智能合约升级,编译器版本兼容性问题的介绍