我目前正在学习如何创建自己的智能合约平台,似乎有两种不同类型的智能合约:已安装合约和链上合约。在我看来,安装是很容易实现的,但我不能掌握链上合同。
我相信对于Ethereum和Hyperledger,合同都是链上的,但我想知道实际的代码是如何存储在区块链的数据结构中的。事务中存储的代码如何在某个时刻为所有其他节点执行?
发布于 2018-07-04 10:44:00
是的,您对智能合约代码存储在链上的直觉是正确的--在Ethereum的情况下,它是以字节码语言的形式存储的,称为“以太虚拟机(EVM)代码”。智能合约代码的执行是定义区块链的状态转换函数定义的一部分。例如,如果事务被添加到例如块7中,则由该事务授权的代码执行将由下载和验证块7的所有节点执行。
https://stackoverflow.com/questions/51155454
复制相似问题