码迷,mamicode.com
首页 > 其他好文 > 详细

eos

时间:2018-11-13 13:10:29      阅读:311      评论:0      收藏:0      [点我收藏+]

标签:scope   ams   ref   tab   tag   接口   用户   参数   消息处理机制   

token pocket钱包/whaleex eos交易所 --note
eos 是一款区块链操作系统,并行链-dpos 解决延迟和数据吞吐BTC 7tps, eos 百万tps
eos 账号 ram(在区块链上存储数据,向系统购买链上购买,抵押eos到系统账户),cpu(运算时间消耗(ms)),带宽(衡量三天内合约执行产生的数据量(byte)) --note
因此用以转账都用一个eos账号,以tag,memo区分资金来源

15/21 投票产生超级节点, 45s/15次 确认 21个生产者轮流出块(只能在一个区块生产),21个区块为生产周期,dpos 授权股权认证,

账户体系,角色控制,加权组合控制资金流
分配账户权限,通过已有账户创建新的账户?

消息的发布与接收?
消息=>消息处理机制 实现智能合约

硬分叉,独立的数据,新的链(创世)
软分叉,新的链兼容原来的数据,软分叉节点之前拥有btc,拥有相同数量的btc儿子们

挖矿过程中产生的分叉,两个区块同时产生,广播的时候,拓扑网络最近的节点.谁先达到最小确认数,此链即为主链,另一为分叉链

eos 智能合约: --note
1.货币转账逻辑,不同的账户余额保存在用户本地scope中,账户信息存储在主链上,本地同步账户信息记录
2.合约组成: 声明(库文件eoslib/eos.hpp,token.hpp,db.hpp)+数据结构信息,合约的逻辑和实现,提供给用户交互的接口(组成)
3.如何定义一个表(scope)?
eosio::table<...params>
a.defaultscope 账户(default),b.currency 表owner(合约的名字),c.account 表名,d.定义存储数据结构(struct),e.uint64_t 表中key类型(前sizeof(uint64_t)字节长度的数据将被当成表的key)
如何定义action的结构?
例:
转出账户,转入账户,金额
transfer{
account_name from;
account_name to;
currency_tokens quantity;
}
4.apply message 接受过滤消息, 参数:合约名称,action,message处理器用以实现action逻辑
5.合约第一次运行检查账户是否建表,且有余额记录 若没有会生成新表? 余额10亿货币单位所有者
6.转出账户需要签名认证才能处理,lib库提供相应的方法,实现对账户的基本操作
7.用户交互接口:struct 数据结构列表,actions,tables

游戏合约:--note
tic_tac_toe
3x3板,host/challenger host(签名)先手,数组存储游戏数据
actions create/restart/close/move 相应的message处理器的逻辑限制?
创建游戏,(host/challenger) 后期重启关闭该游戏用到这两个参数

https://www.jianshu.com/p/b4b3cc9acccf tic_tac_toe

eos

标签:scope   ams   ref   tab   tag   接口   用户   参数   消息处理机制   

原文地址:https://www.cnblogs.com/hiraeth/p/9951511.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!