字节码存储在哪里

Where Bytecode is stored

问题很简单

使用下图作为参考:

据我所知,以太坊区块链仅存储框内的思想(PREVHASH、STATE_ROOT、TIMSTAMP、NUMBER)和每个帐户(NONCE、BALANCE、CODEHASH、STORAGE_ROOT) .

那么,智能合约的代码(在本例中为字节码)存储在哪里?

合约以以太坊虚拟机 (EVM) 执行的以太坊特定二进制格式(EVM 字节码)存在于区块链上。

编译后的 EVM 代码通过合约创建交易发送到区块链,而作为编译智能合约的一部分而创建的附加元数据理想情况下将作为可公开验证的元数据存在于去中心化云中,以补充区块链上的代码。

在部署智能合约的过程中,我们实际上是在向空地址发送交易,并将编译智能合约时生成的EVM代码作为交易的数据。

一段时间后,您的交易应该出现在一个块中,确认它带来的状态是共识。您的合同现在位于为智能合同创建的地址的区块链上。

合约地址有与之关联的字节码,没有人从外部控制合约背后的私钥。合约保留 CRAB 日志而不是 CRUD 数据库(创建读取追加燃烧与创建读取更新删除)。

因为我们有创建智能合约的交易数据的智能合约代码,而且我们有智能合约的新地址,以太坊区块链实际上可以找到要执行的实际字节码通过搜索输出指向合约地址的第一笔交易。