1. 基本定义

在eos私有节点操作中,我们通常是一个合约对应一个合约账户,并且一个账户中只能部署一个智能合约。如果在同一个账户部署多个合约,那么最后部署的合约会覆盖掉之前的合约。每个帐户都至少链接到一个公钥,而这个公钥又链接到钱包里面的一个私钥。

2. EOS源代码合约

2.1 eosio.token合约: 负责发现币种
2.2 eosio. msig提案合约

提案合约同样也是cleos multisig命令调用的系统合约,可用于提案、通过/不通提案、执行多重签名交易和用户权限管理用的。每一笔Transaction都会被相应的用户用其密钥签名发布,多重签名即Transaction被多个人签名后才可以发布成功。

2.3 eosio.system

是EOS的智能合约,eos三个核心功能:

  • 用户抵押token,可以投票给区块生成者(block producer),就是目前竞争火热的21个超级节点,还有获得社区提案(worker proposal)的权利。
  • 设置代理,把投票权移交给其他用户。
  • 抵押token,获得相应的网络带宽,存储空间,运算能力

2.4 eosio.boot合约:用来激活 Activates a protocol feature

2.5 eosio.bios合约 Basic Input/Output System 基本输入输出系统

bios 合约就是让我们能进行最底层的操作的合约,其它合约的运行建立在 bios 合约的基础之上,所以我们先来加载 bios 合约

如果把 EOS 或者说 nodeos 看做一个操作系统, bios 合约看做启动计算式时按 F8 就能进入的 bios 系统就可以了。这东西必不可少,软件的运行建立在这个基础上,但我们一般情况下不用去管它,只要保证它顺利加载就行。

作用

  • 可以直接控制其它账户的资源分配
  • 可以使用其它需要权限的API调用

EOS 智能合约源代码解读 (1)总体说明相关推荐

  1. EOS 智能合约源代码解读 (11)wrap合约“action_wrapper类”

    1. 功能 对于许多用例,需要从合同代码向另一个合同发送新操作.这是合同之间能够积极沟通的唯一途径.它为特定智能合约代码的特定操作创建"操作模板",然后可使用该模板来调用此操作. ...

  2. EOS 智能合约源代码解读 (7)合约开发示例

    官方提供了一个工具eosiocpp,它可以按照固定的模板创建一个新的智能合约.eosiocpp可以创建2个合约文件(曾经是三个文件),它们仅仅包含了合约的框架. 1. HelloWorld合约代码如下 ...

  3. EOS 智能合约源代码解读 (10)token合约“几种关键操作”

    1. create:负责创建资产 void token::create( const text_name& issuer, const asset& maximum_supply) { ...

  4. EOS 智能合约源代码解读 (6)合约之action

    1. 动作 ( action ) 是 EOS 合约的灵魂,是 EOS 的基础组成单位 1.1 一个动作就是一个公开的 ( pubic ) 的 C++ 类的成员方法 必须使用 [[eosio::acti ...

  5. EOS 智能合约源代码解读 (14)system合约“exchange_state.hpp”

    1. 使用bancor数学创建一个在两种资产类型中的50/50的中继 namespace eosiosystem {using eosio::asset;using eosio::symbol;typ ...

  6. EOS 智能合约源代码解读 (10)token合约“简介”

    1. 记录用户的token,比如有哪些代币 class [[eosio::contract("eosio.token")]] token : public contract {pu ...

  7. EOS 智能合约源代码解读 (5)class contract

    1. 所有合约的基类 #define CONTRACT class [[eosio::contract]] // 合约 #define ACTION [[eosio::action]] //动作 #d ...

  8. EOS 智能合约源代码解读 (3)asset.hpp

    1. 合约中关于资产的数据结构的定义 输入字符串: "10.0000 CUR" 输出:amount = 10, symbol(4,"CUR") /**asset ...

  9. EOS 智能合约源代码解读 (9)boot合约

    1. 作用 激活 protocol features 性质 activating desired protocol features prior to deploying a system contr ...

最新文章

  1. java 内存测试_请你说一下java jvm的内存机制
  2. 依图科技再破世界记录!AutoML取代人工调参,刷榜三大权威数据集
  3. 使用ZFS的十条理由
  4. c++构造函数成员初始化中赋值和初始化列表两种方式的区别
  5. C++Bitonic Sort双调排序/比并排序的实现算法(附完整源码)
  6. #error This file requires compiler and library support for the ISO C++ 2011 standard
  7. Spring中配置Hibernate事务的四种方式
  8. python3指定目录所有excel_如何用python遍历文件夹下的所有excel文件
  9. Linux系统文件夹权限475,linux系统中文件的特殊权限
  10. linux编译内核支持pam,linux编译内核make menuconfig报错解决办法
  11. SQL*Plus环境下创建PLUSTRACE角色
  12. MAC编译OpenJDK8:error: ‘‘ within ‘||‘ [-Werror,-Wlogical-op-parentheses]
  13. android中listview的item滑动删除效果(已解决listview点击问题)
  14. 5款最好用的前端开发工具
  15. 【CANdelaStudio编辑CDD】-0.1-如何对比两个CDD诊断描述文件
  16. Linux服务器远程连接
  17. 奶爸日记21 - 探险乐园
  18. 席位分配问题——惯例Q值法和d'hondt法的MATLAB程序
  19. 接收蓝牙信号并发送到云端服务器,蓝牙如何可以与云服务器连接
  20. 2016年蓝桥杯java——分小组

热门文章

  1. 多线程:线程之间的协作(join、wait、notify、notifyAll、await、signal、signalAll)
  2. 计算机英语应用研究,计算机英语辅助学习系统的研究与应用-软件工程专业论文.docx...
  3. 直接拖动元器件_电子元器件常规检测和判断
  4. 数据中心空调系统一种变风量节能控制策略
  5. android行高,android – GridView的行高
  6. ML之XGBoost:利用XGBoost算法对波士顿数据集回归预测(模型调参【2种方法,ShuffleSplit+GridSearchCV、TimeSeriesSplitGSCV】、模型评估)
  7. 成功解决ValueError: too many values to unpack (expected 2)
  8. AI:2020年6月21日北京智源大会演讲分享之14:00-14:25 张铭教授《基于知识图谱的机器学习》
  9. HighNewTech:70后、80后、90后、95后职场人大数据调查(有趣的五个结论)——源于猎聘网
  10. ML之SVM:利用Js语言设计SVM算法(SMO算法+线性核/高斯核)