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

上一节讲到了每一个account都需要与两对密钥绑定,那么我们就先给它创建两对密钥吧。

1、创建密钥(./cleos create key

如下图,创建了密钥后,我们查看一下wallet中的keys,发现钱包又被锁上了,解锁,再看,发现里面还是只有一个公钥在里面:

那要怎么做我们上边创建的密钥才会出现在wallet中呢?

这里有一个key导入的过程,我们需要将上边创建的两组密钥导入到wallet中。

2、向wallet导入key(./cleos wallet import private-key)

这里导入的key是私钥,公钥是可以公开给别人的,钱包是用来存放私钥的不是用来存钱的,有了私钥可以生成公钥。

由于每一个account需要两对密钥和它相对应,所以这里需要导入两次私钥,如下图:

完了,忘了上边解锁的是simaguang,default这个钱包没有解锁。使用上边的import命令,默认会将私钥导入到default默认钱包。下边我们先解锁default钱包后再来试试。

成功将key导入到了钱包里面,那接下来又干嘛呢?这还是没有建立wallet和account之间的联系啊。下面就看看我们怎么来创建账户吧。

在这之前,我们得把先前创建的两组密钥记录下来:

key1:

Private key: 5J6YHicUZZiEViWe3MCQD2vdCC99WW8VHhCQST5NaHScYQibwLy
Public key: EOS8kLLKdikhpY99EWSj8L8HHLSyE8xiRQW9mZAXxcf5thYK2LCzM

key2:

Private key: 5KKJZzK3fqoHbFFevRrzX7r1Gb8DtvnC82BAZEhrS7aqRtxpkth
Public key: EOS6FwkA7gn9a46LbmJWuRCXdZYW9jznckVKXcZTHYbcFBAB9VcNC

再用./cleos wallet keys查看钱包中的keys:

我们发现里面有三个公钥——我们明明导入的是私钥,怎么看到的是公钥啊?见鬼啦?呵呵,其实不是的,你的钱包里的default中同样存的是私钥,只是我们使用./cleos wallet keys查看的时候,钱包自动给咱们算出公钥来了。目的就是避免私钥泄露。所以,你的私钥,你一定要记好了,即使导入到钱包了,你还是要记在你自己的小本本上,不然要是你钱包也丢了,那就麻烦事大了……

还有啊,我们刚刚是将私钥导入到默认钱包default中了,那现在我们想把密钥也导入到simaguang这个钱包中又怎么办呢?

其实,在import后加一个参数就行了:

./cleos wallet import -n simaguang 5J6YHicUZZiEViWe3MCQD2vdCC99WW8VHhCQST5NaHScYQibwLy

./cleos wallet import -n simaguang 5KKJZzK3fqoHbFFevRrzX7r1Gb8DtvnC82BAZEhrS7aqRtxpkth

如下图:

这样我们就有两个钱包在存放我们的私钥了。

3、创建账户(./cleos create account ${authorizing_account} ${new_account} ${owner_key} ${active_key} 

如上命令中,${authorizing_account}是指创建者账户,也就是需要一个老账户来创建新账户,也就是说在EOS里面,账户不是你想有,想有就能有的,你得找人帮你创建。

我们在配置文件里面设置了一个账户eosio,那我们就用这个已有的账户来创建新账户吧。

${owner_key}和${active_key}就是上边我们创建的那两对密钥中的公钥。如下图:

看到了嘛?这账户名的命名规则是有要求的——13个字符以内,且只能在.12345abcdefghijklmnopqrstuvwxyz这32个字符中选取,为什么呢?这和base32这玩意儿有关,回头我们看程序吧。

4、查看账户信息(./cleos get account -j ${accountName}

既然账户已经创建好了,那我们现在就来看看这账户里面都存了些啥东西吧。使用./cleos get account -j ${accountName}命令可以查看账户信息,其中的-j的意思是使用json格式显示数据。如下图:

内容如下:

{
  "account_name": "simayi",
  "privileged": false,
  "last_code_update": "1970-01-01T00:00:00.000",
  "created": "2018-06-06T08:45:03.000",
  "ram_quota": -1,
  "net_weight": -1,
  "cpu_weight": -1,
  "net_limit": {
    "used": -1,
    "available": -1,
    "max": -1
  },
  "cpu_limit": {
    "used": -1,
    "available": -1,
    "max": -1
  },
  "ram_usage": 2724,
  "permissions": [{
      "perm_name": "active",
      "parent": "owner",
      "required_auth": {
        "threshold": 1,
        "keys": [{
            "key": "EOS6FwkA7gn9a46LbmJWuRCXdZYW9jznckVKXcZTHYbcFBAB9VcNC",
            "weight": 1
          }
        ],
        "accounts": [],
        "waits": []
      }
    },{
      "perm_name": "owner",
      "parent": "",
      "required_auth": {
        "threshold": 1,
        "keys": [{
            "key": "EOS8kLLKdikhpY99EWSj8L8HHLSyE8xiRQW9mZAXxcf5thYK2LCzM",
            "weight": 1
          }
        ],
        "accounts": [],
        "waits": []
      }
    }
  ],
  "total_resources": null,
  "delegated_bandwidth": null,
  "voter_info": null
}

5、根据公钥获得账户列表(./cleos get accounts ${public-key}

好了,就搞到这里吧,累了。

接下来的操作得加载智能合约才能搞了,所以,咱们下节见!

注意啊,这里面的关于key的内容,都应该使用你自己生成的密钥对哇,别疯疯癫癫的用我生成的弄哈——即便它也是可以用的。

转载于:https://www.cnblogs.com/java-xz/p/9987667.html

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

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

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

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

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

  3. HDFS命令行客户端使用,命令行客户端支持的命令参数,常用命令参数介绍

    3.HDFS的shell(命令行客户端)操作 3.1 HDFS命令行客户端使用 HDFS提供shell命令行客户端,使用方法如下: [toto@hadoop hadoop-2.8.0]$ hdfs d ...

  4. 如何使用Doctl,DigitalOcean官方命令行客户端

    An earlier version of this tutorial was written by Brennen Bearnes. 本教程的早期版本由Brennen Bearnes编写 . 介绍 ...

  5. MySQL数据库介绍、安装(服务端软件安装、客户端软件安装(图形化界面客户端和命令行客户端))

    1. MySQL数据库的介绍 MySQL是一个关系型数据库管理系统,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System, ...

  6. 人大金仓命令行客户端工具KSQL系列1

    KSQL是什么? ksql是KingbaseES的交互终端,也就是命令行客户端,其作用类似于Oracle的sqlplus.命令行方式的客户端对开发人员可能不太友好,但是对于运维人员来说非常的方便,是必 ...

  7. mysql客户端指令_mysql command line client(mysql命令行客户端)

    mysql command line client(mysql命令行客户端) (2010-03-24 09:18:38) 标签: 文化 分类: 数据库 1.输入密码:****** 2.ues mysq ...

  8. MySQL常见问题的解决,root用户密码忘记,不是内部或外部命令,修改数据库和表的字符编码,命令行客户端的字符集问题

    文章目录 问题1:root用户密码忘记,重置的操作 问题2:mysql命令报"不是内部或外部命令" 问题3:错误ERROR :没有选择数据库就操作表格和数据 问题4:命令行客户端的 ...

  9. curl put方法 测试http_HTTP接口调试利器!4.8万Star的HTTP命令行客户端!

    [导语]:Python实现的HTTP请求命令行客户端,我理解为curl的Python版本,但是提供了更友好,更易使用的命令及选项. 简介 HTTPie是使用Python实现的HTTP命令行工具,提供了 ...

最新文章

  1. [SCOI2008]着色方案
  2. php 添加日志文件,如何在PHP中创建日志文件?
  3. c++98不支持set初始化列表
  4. python延时函数_Python实现屏幕自动截图
  5. Re(正则表达式)库入门
  6. Tomcat启动失败错误解决Could not publish server configuration for Tomcat v8.0 Server at localhost....
  7. 如何还原桌面图标_如何为Windows 10桌面图标还原或更改文本的默认外观?
  8. 继谷歌之后 雅虎退出中国音乐市场
  9. android 3d地球,动态3D我的地球app
  10. 古代一些练外丹的资料
  11. 2020年《财富》世界500强排行榜揭晓
  12. vue.js毕业设计,基于vue.js前后端分离电影院售票小程序系统设计与实现
  13. grafana-reporter安装及配置
  14. java 指纹匹配算法_java – 从生物识别指纹考勤设备中检索数据
  15. 技术团队分享改进总结
  16. 基于WiFi的CSI数据做呼吸频率检测-python版(含代码和数据)
  17. 计算机网络(五):IPv6
  18. 数据分析三剑客之特征值提取(七)
  19. Unity碰撞和碰撞检测
  20. 弘辽科技:淘宝平台的推广方法有哪些?六大推广方式介绍

热门文章

  1. Android基础:Button按钮
  2. 超前进位加法器实验报告_超前进位加法器设计报告
  3. http://www.floorplanner.com/
  4. 成电858信号与系统专业课——考研学习笔记
  5. 实现多人聊天——简单群聊服务器的实现
  6. STM32新手入门-什么是寄存器
  7. 新媒体月薪4.5万?看完人民日报的招聘我傻了
  8. Linux开机启动程序的两种方法
  9. android java花指令_[原创]#30天写作挑战#Android记去花指令还原算法
  10. #8203;MyEclipse2014发布webservi…