首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我是否可以部署用更老版本的solidity编写的智能契约?如果是,如何在EVM中识别它?

我是否可以部署用更老版本的solidity编写的智能契约?如果是,如何在EVM中识别它?
EN

Ethereum用户
提问于 2019-08-22 14:32:18
回答 1查看 649关注 0票数 1

如果我能够编译一个用旧版本(比如0.1.3 )编写的智能契约,我还能部署它吗?

如果可以的话,是否有一种方法可以查看EVM字节码,并判断这个智能契约是用更老版本的solidity编写的?

EN

回答 1

Ethereum用户

发布于 2019-08-22 15:55:32

基本上,你的第一个问题是肯定的。Solidity编译器生成本机EVM代码,并将其封装在一个函数中,该函数将使EVM创建一个契约并将该代码交给它。它从一开始就以这种方式工作,所以任何来自Solidity早期版本的合同创建事务数据都应该仍然有效。

不过,你不想这么做的原因不多--问问自己为什么要这么做?一个例子是发布一份与现有的、已经部署的合同相兼容的合同,因为合同间调用的一些方式在过去几年中略有改变。

至于你的第二个问题-简单的回答是否定的,不过这里部分地提到了:有没有一种方法来检测哪个编译器版本产生了一个契约二进制文件?

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

https://ethereum.stackexchange.com/questions/74166

复制
相关文章

相似问题

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