zhangguoxiang 2019-06-30
在EOS DApp开发入门(一)中,通过docker image的方式架起了本地的eos区块链,使Note chain DApp与本地区块链进行交互,成功运行起来。(boiler plate)
在看启动eosio脚本输出的时候,发现了这两样输出:设置account和智能合约,以及安装eosio.CDT(合约开发工具)。就去查了一下。
EOS 中,帐户(account)是存储在区块链上的授权集合,用于标识发送者 / 接受者。
EOS 中的授权结构非常灵活,也非常复杂,简单来说,就是一个授权,既可以由一个人拥有,也可以由一组个人拥有,具体取决于如何配置权限。
我们甚至可以说,任何人,想要在 EOS 上做一些事情,他必须先有一个账户,才能向区块链发送或接收有效的交易。
所以要使用eos区块链,得先设置账户。
EOSIO.CDT是WebAssembly(WASM)的工具链和一组工具,用于促进EOSIO平台的合同编写。除了作为通用WebAssembly工具链之外,还可以使用EOSIO特定的优化来支持构建EOSIO智能合约。这个新工具链是围绕Clang 7构建的,这意味着EOSIO.CDT具有最新的LLVM优化和分析,但由于WASM目标仍被认为是实验性的,因此某些优化不可用或不完整。
关于智能合约的细节,打算对照当前v1.4.2版的源码来学习,一方面可以确保信息是第一手的,不会出现参考旧版的解读文章,导致以讹传讹,更重要的是可以借此机会好好学习C++工程项目(源码在此:https://github.com/EOSIO/eos)。
今天先看eosio.system,按github里的说明,eosio.system这个合约可以让用户抵押Token(eos代币)、设置和投票给区块生产者(比如eos公链上的生产者就需要投票来获取超级节点的资格,成功成为21个活跃超级节点后,才有资格生产新区块)。
【跟着源码学】EOS智能合约之eosio.system - part1
part2 - eosio.system整理解读