- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EOS块数据结构块内通信和跨链
EOS 块数据结构:块内通信和跨链
EOS 编译、测试指南 (三)
扫一扫关注欧链小秘书
关注时请注明“技术社区”
EOS 团队于 2017 年 7 月 28 日推出了单机测试版,欧链团队也在第一时间对
代码进行了编译和测试 ,陆续发布了两版 《EOS 编译、测试系列指南》,详细介
绍如何让 EOS 在自己的本地跑起来 以及智能合约编写、代币的发行。一周以来,
EOS 团队陆续在 Git 上更新了自己的代码,欧链团队也在持续跟进 EOS 代码,编
译和测试,以下将分析 EOS 中重要的数据结构 block ,并解释 EOS 的两大优势 :
高效账户间通信和跨链机制。
该指南主要依据 EOS 的官方文档,以及欧链团队的实践经验编写,开发者有
任何技术问题可以关注欧链小秘书、在欧链科技社区里向 OracleChain 团队提问
或者发送邮件到 contact@oraclechain.io。
EOS 文档:https://eosio.github.io/eos/
EOS 代码:/EOSIO/eos
EOS 白皮书:/EOSIO/Documentation
一、 块主要结构
block 是区块链中最重要的数据结构,EOS 在 block 结构中设计了 7 个参数,
下面我们将一一进行分析解释。
previous
previous 为指向前一个区块的 hash 值,EOS 采用的 hash 算法是 SHA 。
timestamp
timestamp 为时间戳,该区块的生成时间。
transaction_merkle_root
transaction_merkle_root 为该区块内所有交易的 merkle 根,用于快速验证交
易的完整性。
producer
producer 为该区块的生成者。EOS 采用 DPOS 共识机制,预计每 3 秒生成一
个区块。任何时刻,只有一个生成者被授权生成区块。
producer_changes
EOS 架构中区块的产生是以 21 个区块为一个周期,在每个出块周期开始前 ,
21 个区块生成者会被投票选出。producer_change 就记录了未来的 21 个出块者。
producer_signature
producer_signature 是该区块的生成者对该区块的签名。EOS 采用的是 ECDSA
签名算法,使用的椭圆曲线参数是 secp256k1 。
cycles
EOS 设计的目标之一是使得两个账户 (合约)能够在单个区块内来回交换消
息 (交易),而不必在每个消息之间等待 3 秒。为了实现这一点,EOS 将块内的
消息分成了 cycle 来顺序处理。cycles 就是 cycle 的一个顺序向量,那么 A 发给 B
的消息在 cycles[1] 中处理,B 返回的消息就可以在后续的 cycles[4] 中进行处理。
区块生成器将不断把 cycle 添加到区块中,直到最长的区块时间间隔达到,或者
没有新的可传送交易生成。
二、 Cycles 主要结构
前面提到了 E
文档评论(0)