上一节我们搞了老半天,也没整明白Exchange这个合约到底干啥用的。就它官方提供的说法,是用于货币的创造和交易。我没整明白,所以去看了下代码,发现代码头文件里面有下面这段话:

This contract enables users to create an exchange between any pair of standard currency types. A new exchange is created by funding it with an equal value of both sides of the order book and giving the issuer the initial shares in that orderbook.
 
To prevent exessive rounding errors, the initial deposit should include a sizeable quantity of both the base and quote currencies and the exchange shares should have a quantity 100x the quantity of the largest initial deposit.
Users must deposit funds into the exchange before they can trade on theexchange.
 
Each time an exchange is created a new currency for that exchanges market maker is also created. This currencies supply and symbol must be unique and it uses the currency contract's tables to manage it.
 
用百度翻译看了一下,没明白什么意思。但是我知道它会被应用在不同类型的货币交换过程中,而且这互换过程发生之前需要创建互换货币之间的汇率关系,搞不懂搞不懂。也就是说我们基本上暂时是用不到了。那就先放着吧,以后遇到再说。
 
接下来我们来看看两个比较重要的合约——eosio.msig和eosio.system
 
4、eosio.msig
这个合约用于多用户签名和用户权限管理用的,需要在实际应用中才能看出效果。我们先load它进来吧。

如上图中,我发现了一个新秘密——直接使用./cleos wallet create_key这个命令,可以将./cleos create key./cleos wallet import ${private_key}两个命令合成一个。

这样,我们就把eosio.msig这个厉害得不行的智能合约加载进来了。

下边我们也把eosio.system加载进来吧。

5、eosio.system

这个叫系统智能合约,通过这个智能合约,可以进行很多系统级别的操作,比如用户投票、将用户注册成为生产者等,功能强大到不行,以后我们会经常用到。

同样的节奏:

可是,到正式加载eosio.system智能合约的时候,它告诉我说超时了!

居然超时?多来几遍试试?

疯了,我们用了各种姿势,结果都是一样的说这玩意儿超时了。

看来,真的是超时了。

既然超时了,那咱们让它不超时不就得了嘛?

切换到nodeos命令行窗口,暂停运行程序,输入下面命令回车:

./nodeos -e -p eosio --max-transaction-time=1000

咦?!死锅咦……

怎么弄都可以了。

后话:这两天去研究EOS正式版了,刚刚上边的程序也跑的EOSIO V1.0.3。由于上边这两个智能合约一句话两句话说不清楚,所以我们先把他加载进来,回头具体使用的时候,咱们再仔细聊。

先水一节,下一节先讲角色权限哈……

EOS开发基础之六:使用cleos命令行客户端操作EOS——智能合约之eosio.msig和eosio.system的更多相关文章

  1. eos开发(二)使用cleos命令行客户端操作EOS(钱包wallet基础操作)

    不知道下边这一段英文你们是不是能看懂,如果看不懂那就算了,我就是转过来随便看看的. 总之你记住nodeos.cleos和keosd这三个工程十分重要就行了,回头咱们的研究都从这三个工程杀进去. EOS ...

  2. EOS开发基础之二:使用cleos命令行客户端操作EOS(钱包wallet基础操作)

    不知道下边这一段英文你们是不是能看懂,如果看不懂那就算了,我就是转过来随便看看的. 总之你记住nodeos.cleos和keosd这三个工程十分重要就行了,回头咱们的研究都从这三个工程杀进去. EOS ...

  3. EOS开发基础之四:使用cleos命令行客户端操作EOS——智能合约之eosio.bios和eosio.token

    现实世界中的合约,简单地说,是一个参与活动的所有人都需要遵循的协议.合约可以是正式的法律合同(例如,金融交易),或者是简单的游戏规则.典型的活动可以是诸如资金转移(在金融合约的情况下)或游戏动作(在游 ...

  4. EOS开发基础之三:使用cleos命令行客户端操作EOS——关于钱包wallet和账户account

    好了,上一节我们已经讲了关于wallet的一些基础操作,基本了解了怎么去创建一个钱包,怎么去查看钱包.上锁和解锁钱包等,这一节咱们就来开始操作账户account吧. 上一节讲到了每一个account都 ...

  5. EOS开发基础之五:使用cleos命令行客户端操作EOS——智能合约之Exchange

    先回答一下上一节中留下的问题,为什么我就看不到eosio这个账户中的钱呢?我明明为它create了很多token啊. 对,你是create了,但是没有issue啊.create了1000000000 ...

  6. eos开发(三)使用cleos命令行客户端操作EOS——关于钱包wallet和账户account

    好了,上一节我们已经讲了关于wallet的一些基础操作,基本了解了怎么去创建一个钱包,怎么去查看钱包.上锁和解锁钱包等,这一节咱们就来开始操作账户account吧. 上一节讲到了每一个account都 ...

  7. Hadoop HDFS的shell(命令行客户端)操作实例

    HDFS的shell(命令行客户端)操作实例 3.2 常用命令参数介绍 -help 功能:输出这个命令参数手册 -ls                  功能:显示目录信息 示例: hadoop fs ...

  8. 命令行客户端操作pg数据库常用操作

    登录 # su - postgres -c "psql" 或者 $psql -U user_name -d database_name -h serverhost psql (10 ...

  9. mysql命令行客户端结果分页浏览

    转载请注明出处:http://xiezhenye.com/2008/06/mysql%e5%91%bd%e4%bb%a4%e8%a1%8c%e5%ae%a2%e6%88%b7%e7%ab%af%e7% ...

随机推荐

  1. 【转】Spring学习---Bean配置的三种方式(XML、注解、Java类)介绍与对比

    [原文]https://www.toutiao.com/i6594205115605844493/ Spring学习Bean配置的三种方式(XML.注解.Java类)介绍与对比 本文将详细介绍Spri ...

  2. 看代码网备份|利用WebClient|eKing.CmdDownLoadDbBakOper|实现定时拷贝数据库备份文件到文件服务器

    摘要: 1.有两台服务器 (1)看代码网(记为A):内网IP:10.186.73.30 (2)文件服务器(记为B):内网IP:10.135.87.157 2.在A架设一个网站,端口8088(防火强设置 ...

  3. JDK5的新特性之 增强for

      package cn.itcast.day19.foreach; import java.util.ArrayList; import java.util.Collection; import j ...

  4. Python3 中 sys.argv[ ]的用法解释

    sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,所以那些试图从代码来说明它作用的解释一直没看明白.因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list), ...

  5. 日常使用Shell积累

    HDFS统计文件行数: hdfs dfs -cat hdfs://ns3/wordcount/* |wc -l

  6. win10下nvidia控制面板看不到

    64位win10,nvidia控制面板看不到,控制面板里没有,服务里也没有nvidia相关服务,但驱动已经安装了. 解决办法: 1.下载GeForce Experience并安装 . 2.通过GeFo ...

  7. OpenCV——模板匹配

    minMaxLoc函数: void minMaxLoc( const Mat& src, double* minVal, double* maxVal=0, Point* minLoc=0, ...

  8. 使用HTML5中postMessage 实现ajax中的POST跨域问题

    HTML5中提供了在网页文档之间相互接收与发送信息的功能.使用这个功能,只要获取到网页所在窗口对象的实例,不仅仅同源(域+端口号)的web网页之间可以互相通信,甚至可以实现跨域通信. 浏览器支持程度: ...

  9. 编写陈旭,实现通过字符型变量创建boolean值,再将其转换为字符串输出,观察输出后的字符串与创建Boolean对象时给定的参数是否相等.

    主要涉及到基本数据类型与包装类的转换. Boolean类的tostring方法的作用,返回一个表示该布尔值的 String 对象 public class Test1 { public static ...

  10. 串口通信DMA中断

    这是以前学32的时候写的,那时候学了32之后感觉32真是太强大了,比51强的没影.关于dma网上有许多的资料,亲们搜搜,这里只贴代码了,其实我也想详详细细地叙述一番,但是自己本身打字就慢,还有好多事情 ...