问题很简单。
使用以下图像作为参考:
我理解以太坊区块链只存储盒子内部的思想(PREVHASH,STATE_ROOT,TIMSTAMP,NUMBER)以及每个帐户(NONCE,BALANCE,CODEHASH,STORAGE_ROOT)的思想。
那么,智能合约的代码(在这种情况下为字节码)存储在哪里?
答案 0 :(得分:0)
以太坊特定的二进制格式(EVM字节码)在以太坊虚拟机(EVM)执行的区块链上签订合约。
已编译的EVM代码通过合同创建交易发送到区块链,而作为编译智能合约的一部分而创建的其他元数据理想地将作为可验证的公共元数据存在于去中心化云中,作为对区块链代码的补充。
在部署智能合约的过程中,我们实际上是将交易发送到空地址,并且将EVM代码作为编译智能合约的一部分生成为交易数据。
一段时间后,您的交易应显示在一个区块中,以确认其带来的状态是共识。您的合同现在位于为智能合同创建的地址的区块链上。
合同地址具有与之关联的字节码,并且没有人从外部控制合同背后的私钥。合同保留一个CRAB日志而不是一个CRUD数据库(创建读取追加刻录与创建读取更新删除)。
由于我们拥有创建智能合约的交易数据中的智能合约部分代码,并且我们拥有智能合约的新地址,因此以太坊区块链实际上可以通过搜索找到要执行的实际字节码对于第一个交易,其输出指向合同地址。