blockchain - 字节码的存储位置
问题描述
问题很简单。
使用以下图像作为参考:
据我了解,以太坊区块链仅存储框内的想法(PREVHASH、STATE_ROOT、TIMSTAMP、NUMBER)和每个帐户(NONCE、BALANCE、CODEHASH、STORAGE_ROOT)。
那么,智能合约的代码(在这种情况下是字节码)存储在哪里?
解决方案
合约以以太坊特定的二进制格式(EVM 字节码)存在于区块链上,由以太坊虚拟机 (EVM) 执行。
编译后的 EVM 代码通过合约创建交易发送到区块链,而作为编译智能合约的一部分创建的附加元数据理想情况下将作为可公开验证的元数据存在于去中心化云上,以补充区块链上的代码。
在部署智能合约的过程中,我们实际上是在向空地址发送一笔交易,其中的 EVM 代码是编译智能合约的一部分,作为交易数据的一部分。
一段时间后,您的交易应该出现在一个区块中,确认它带来的状态是共识。您的合约现在位于为智能合约创建的地址的区块链上。
合约地址有与之关联的字节码,并且没有人在外部控制合约背后的私钥。合同保留 CRAB 日志而不是 CRUD 数据库(创建读取追加刻录与创建读取更新删除)。
由于我们拥有创建智能合约的交易数据的智能合约代码,并且我们拥有智能合约的新地址,以太坊区块链实际上可以通过搜索第一个字节码来找到要执行的实际字节码输出指向合约地址的交易。
推荐阅读
- r - 如何在 R 中创建 ID 列并将数据随机分配给组
- c# - NEST C# 不返回结果,但查询 DSL 返回结果
- gtk - Gtk.Label 换行未按预期工作
- flutter - 当我在 android studio 中运行我的颤振应用程序时,出现以下错误。我该如何修复它
- azure-media-services - Azure 媒体服务 - v3 覆盖位置问题
- python - 使用 Prelu 激活函数训练 CNN
- html - 在浏览器中粘贴 JSON 文件不起作用 - getAsFile 返回 null
- aem - Jackrabbit OAK 是“尺寸分层”还是“层次分层”?
- excel - 根据另一列中的月份计算超出限制的次数
- r - DLNM:错误:coef/vcov 与基矩阵不一致。查看帮助(crosspred)