EOS智能合约数据结构API-欧链.PDFVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
EOS智能合约数据结构API-欧链

EOS 智能合约数据结构 API EOS 编译、测试指南 (四) 扫一扫关注欧链小秘书 EOS 团队于 2017 年 9 月 14 日推出了 Dawn 1.0 release 版本,熟悉 Linux 和 C++ 的开发人员可以在此基础上尝试自己的合约开发了。OracleChain 团队一直以 来都在对 EOS 代码进行了编译和测试,陆续发布了三份《EOS 编译、测试指南》, 详细介绍了 EOS 的入门知识、基本结构,帮助开发人员学习、研究 EOS。基于 EOS 刚刚推出的 Dawn 1.0 ,OralceChain 团队进行了测试,本次将以代币的发行 为例,详细介绍 EOS 上 WASM 的数据库机制和智能合约的数据库 API ,基于此开 发人员可以在 EOS 上发行自己的代币和开发钱包应用。 该指南主要依据 EOS 的官方文档,以及欧链团队的实践经验编写,开发者有 任何技术问题可以关注欧链小秘书、在欧链科技社区里向 OracleChain 团队提问 或者发送邮件到 contact@oraclechain.io 。 EOS 文档:https://eosio.github.io/eos/ EOS 代码:/EOSIO/eos 备注:OracleChain 团队使用 Mac 环境进行开发。 EOS.IO 的架构目标,是成为一个高效的消息分发平台,消息被分发到 account (合约)中然后被高效地并发执行。 EOS 底层需要一个高效的沙盒运行环境。沙盒中,底层的脚本语言,执行环 境都是可以被替换的。在白皮书中,EOS 宣传支持 EVM 和 WASM 两种沙盒运行 环境。目前所知,WASM 的运行效率比 EVM 高很多,这点为 EOS 提供了有力的 竞争条件。高效的执行环境,提供了更快的交易反馈时间,从而在单个出块周期 处理更多的业务,可以运行更大规模的运算。 一、智能合约的数据库API EOS 的合约执行依赖于 WASM 的沙盒运行环境。 上一份指南中,OracleChain 团队分析了 block 数据结构的存储,EOS 使用 boost::interprocess ,将 block 信息通过文件映射存储到磁盘上。 而在 EOS 合约执行过程中,所有的 account 状态都存储在沙盒的运行内存 中。EOS 对 account 的操作,通过调用 contract/eoslib/db.hpp 的 table 模版类,进 行类似于传统的增删查改操作。db.hpp 通过一个 c 接口,接入 WASM 沙盒环境, 实现了跨平台的储存机制。WASM 对数据存储的具体实现,依赖 chainbase.hpp 中,database 类实现的 mmap 数据存储接口。 account 的状态数据,均存储在一个 table 的数据结构中,我们可以在 db.hpp 中可以看到对其的实现: templateuint64_t scope, uint64_t code, uint64_t table, typename Record, typename PrimaryType, typename SecondaryType = void struct Table { … } struct Tablescope,code,table,Record,PrimaryType,void { … } 由此可见智能合约的数据结构大致如下: * - **scope** - an account where the data is s

您可能关注的文档

文档评论(0)

sunshaoying + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档