EOSIO.DCT 1.3以上版本工具编写EOS智能合约重大更新
1, 注意使用eosio.cdt 1.3及以上版本工具, c11语法
定义table, "bankerlist" 是表名, 生成abi文件使用
struct [[eosio::table("bankerlist")]] bankerlist {uint64_t issue;uint64_t roomid;uint64_t stop; uint64_t gameover; uint64_t total_amount; mutable std::vector<betinfo> betinfoList;uint64_t primary_key() const { return issue; }EOSLIB_SERIALIZE(bankerlist, (issue)(roomid)(stop)(gameover)(total_amount)(betinfoList));};typedef eosio::multi_index<"bankerlist"_n, bankerlist> BANKER_LIST;
定义action
[[eosio::action]]void gamestart() { BANKER_LIST banker_list(_self, _self.value);auto it = banker_list.find(1);eosio_assert(it->gameover != 1, "status err");banker_list.modify(it, _self, [&](auto &formerInfo) {formerInfo.gameover = 1;});}
使用table
BANKER_LIST banker_list(_self, _self.value);auto b_it = banker_list.find(1);
入口宏
取消了, EOSIO_ABI 采用EOSIO_DISPATCH_HELPER代替
extern "C" { void apply(uint64_t receiver, uint64_t code, uint64_t action) { auto self = receiver; if(code == self || code == "eosio.token"_n.value) { if(action == "transfer"_n.value){ eosio_assert(code == "eosio.token"_n.value, "Must transfer EOS"); } switch(action) { EOSIO_DISPATCH_HELPER(xxxxclassname, (transfer)(stopgame)(gamestart)(clear)(resolvebet))} } }
}
重要的类型名变化,
account_name => name
N(x) => _n
N(x) 可以引入 <eosiolib/name.hpp>, #define N(X) name(#X), 以减少代码更改
S(EOS,4) => symbol(symbol_code("EOS"), 4)
更多更新相关资料
智能合约之 eosio.cdt 我们需要知道的那些事 非常值得一看
https://blog.csdn.net/bnbjin/article/details/84027200 eosio.cdt心得
https://developers.eos.io/eosio-home/docs/ 官方案例, 合约编写案例, api文档
EOSIO.DCT 1.3以上版本工具编写EOS智能合约重大更新相关推荐
- Beosin成都链安发布在线EOS-IDE免费版本 EOS智能合约在线编辑、编译、运行调试、部署一步到位...
Beosin EOS-IDE产品链接: https://beosin.com/EOS-IDE/index.html#/ (推荐Chrome浏览器) 每一个区块链开发的程序员都需要一个界面友好,操作方便 ...
- eosio.cdt:EOS智能合约工具集
目前EOS已经迎来了1.5.x时代,很多内容都有了较大的改变.其中智能合约的工作流程发生了改变,EOSIO为智能合约提供了独立且功能完整的工具集eosio.cdt.该工具集基于WASM平台,可解耦于e ...
- c++ eos智能合约开发_EOS智能合约开发点滴记录-第二篇智能合约编写
开发合约前,我们先选择下将要用的编辑工具 我常用的有 clion 和vscode,电脑os为mac,不过其他系统差别不大,如果你习惯用于Windows,那建议选择 Windows Subsystem ...
- eos智能合约的编写和调试
编译环境 在<EOS环境搭建>中已经编译并且安装了智能合约的编译工具链 合约调试 nodeos配置 调试合约最好在本地搭建一个Nodeos测试节点,运行nodeos时,加入--contra ...
- EOS智能合约开发-智能合约编写
开发合约前,我们先选择下将要用的编辑工具 我常用的有 clion 和vscode,电脑os为mac,不过其他系统差别不大,如果你习惯用于Windows,那建议选择 Windows Subsystem ...
- 如何使用remix编写solidity智能合约并部署上链
1.remix简单介绍 地址:Remix - Ethereum IDEhttps://remix.ethereum.org/ 使用solidity在线编译工具remix让编写智能合约更加丝 ...
- 120 以太坊 ethereum truffle : 编写自动化智能合约测试
• 介绍 • 关于测试 • 设置测试环境 • 编写单元测试 • 执行复杂的断言 • truffle Tutorials 教程 • Contact 联系方式 • 介绍 在区块链环境中,一个错误可能会花费 ...
- EOS智能合约之eosio.system整理解读
Previous 上文(链接在这)整理了multi_index相关的内容,这篇接着学习合约部分的细节. 预备知识 DPoS(委托权益证明) EOS的共识机制为DPoS,委托权益证明,英文全称Deleg ...
- EOS智能合约开发(十)EOS中eosio.token合约分析
前面文章里,我们部署过eosio.token合约,今天我们就分析一下这个合约. 首先,我们部署eoiso.token合约,通过这个合约,可以创建不同的token,可以由不同的账户部署管理这个合约.所有 ...
最新文章
- ubuntu16.04安装新版本golang
- Win10系统和子系统Ubuntu16.04 安装 ros
- 关于迷笛音乐节的重大通知-_-
- pypinyin 获取多音字的拼音组合
- 计算机专业在湖南录取分数,计算机科学与技术专业分数线各大学排名(湖南)
- 深度学习笔记(41) 候选区域
- 内六角尺寸规格_常见螺丝和规格
- C# Gabbage Collecting System
- ssh 免密码登录---问题
- 在IDEA集成Github
- Spring IOC 容器源码分析 - 循环依赖的解决办法 1
- 华为 USG6000防火墙管理员密码重置(配置会清空)
- 最新支持备案域名后缀列表
- ElK STACK的简要分析
- php 游戏开发swoole,《基于 Swoole 的对战游戏实践》开课啦
- android中如何打开指定卡上的数据连接开关,Android 代码控制手机数据网络的开关(5.0以上)...
- Python基础——np.where
- 【专题教程第4期】SEGGER的J-Scope波形上位机软件,HSS模式简单易用,无需额外资源,也不需要写目标板代码
- 网站常见的攻击与防护
- 小学计算机教案动画欣赏,小学信息技术Flash动画教学反思
热门文章
- tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数
- oracle localhost连接
- java目录文件夹操作
- 组播基本概念、IGMP、IGMP监听学习笔记
- linux socket通信tcp,基于TCP协议的socket通信
- angular元素属性绑定_AngularJS语法基础及数据绑定——详解各种数据绑定指令、属性应用...
- 什么是计算机系统的可信基点,基于可信基点的结构化签名比较算法.pdf
- 快速创建包快捷键大全_99个CAD插件大全,各种工具箱和超实用辅助插件,绘图从此不卡顿...
- 万年历java课程设计报告_java万年历课程设计报告2010
- 半圆阴影_圆中阴影部分面积求法的常用方法