不知道下边这一段英文你们是不是能看懂,如果看不懂那就算了,我就是转过来随便看看的。

总之你记住nodeos、cleos和keosd这三个工程十分重要就行了,回头咱们的研究都从这三个工程杀进去。

EOSIO comes with a number of programs. The primary ones that you will use, and the ones that are covered here, are:

  • nodeos - server-side blockchain node component
  • cleos - command line interface to interact with the blockchain and to manage wallets
  • keosd - component that manages EOSIO wallets

The basic relationship between these components is illustrated in the following diagram. In the sections that follow, you will build the EOSIO components, and deploy them in a single host, single node test network (testnet) configuration.

今天我们就来讲讲怎么通过cleos命令行客户端操作EOS吧。(默认是操作自己当前主机节点,如果你添加了ip地址参数的话,你也可以操作别的节点)

那么要操作当前机器的节点,我们得先把当前节点给启动是吧?来,打开Terminal,执行如下操作:

是不是被./nodeos -e -p eosio --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin 这货搞疯了?呵呵呵……来,跳转到你的/home/fengwork/.local/share/eosio/nodeos/config目录下,是不是看到有一个config.ini文件?打开它,把里面的内容换成如下内容:

block-log-dir = blocks
enable-stale-production = true
#required-participation = true
shared-file-dir = blockchain
shared-file-size = 8192
readonly = 0
send-whole-blocks = true
http-server-address = 127.0.0.1:8888
p2p-listen-endpoint = 0.0.0.0:9876
p2p-server-address = localhost:9876
allowed-connection = any

required-participation = 33
private-key = ["EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV","5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3"]
producer-name = eosio

plugin = eosio::producer_plugin
plugin = eosio::chain_api_plugin
plugin = eosio::history_plugin
plugin = eosio::history_api_plugin
plugin = eosio::wallet_plugin
plugin = eosio::wallet_api_plugin
plugin = eosio::net_plugin
plugin = eosio::net_api_plugin
plugin = eosio::chain_plugin
wallet-dir = "."

然后到上一级目录,也就是/home/fengwork/.local/share/eosio/nodeos下边,是不是发现有一个data文件夹?删掉它——这里面放的就是你打的块,因为我们先去跑过一趟程序,所以里面已经存了很多空块了。有时候会因为这玩意儿的存在导致节点跑不起来,比如说程序重新编译之后。

嗯,接下来,再次转到Teminal中来,这时候,你只需要一个./nodeos命令,节点程序就跑起来了,是不是心情好多了?

至于上边这里面那段红色的和黄色的是啥意思,我们先不管了,回头跟踪下程序,让程序来告诉咱们它到底怎么会显得那么不一样吧。

下边我们就可以正式开始拿出我们的cleos来干活了。

再次打开一个Terminal(ctrl+alt+t),执行如下操作:

>cd eos/build/programs/cleos/

这样就转到了cleos文件夹下,通过ls命令,咱们可以看到这下边有一个名叫cleos的可执行文件,如下图:

下边我们先来做一些基础操作吧:

1、创建默认钱包(./cleos wallet create

通过返回的信息,我们看到我们已经启动了keosd工程,同时创建了一个名为default的默认钱包,且这个钱包的password为PW5KZGrxQR77W2ctkZPGsZugQVekdEipZKxE48sxy6rPFE6sUfnV6

这个password咱们得拿小本本记住了,回头打开钱包就靠它了呢。

2、看看咱们创建的钱包吧(./cleos wallet list

发现没?返回的json里面只有一个刚刚创建的default钱包,且这个钱包后面带了一个*符号,这表示这个钱包是解锁状态的,你可以对它进行各种操作。额,感觉这里只有一个钱包不太爽,咱们给它多弄几个进去吧?

3、创建自定义名称的钱包(./cleos wallet create -n xxx

看到没?我们又连续创建了三个钱包——wangerxiao、simaguang、hanmeimei,且通过提示,我们可以了解到这三个钱包也都是处于解锁的状态,不信咱们使用./cleos wallet list命令看看?

它们果然都是解锁中的,快点拿小本本来把这些password记下来:

default:PW5KZGrxQR77W2ctkZPGsZugQVekdEipZKxE48sxy6rPFE6sUfnV6

wangerxiao:PW5JVrRerDpKyFxMFcoafsnCyPwdpSjVKRnkPsyXiF78WeYKCD71W

simaguang:PW5K97DmRL1XbNmQk7V2K4nZtcq5cUiEe8rbpFcT4QNVyGXJws76R

hanmeimei:PW5JVE2ZvSBQ51TnmZfQ7M1vKarEoAtm6E6wXvZ2Bm8GRKmHoWa62

额,现在我想试试我的password好不好使,怎么办呢?当然得先把钱包给上锁啊。上锁——

4、给钱包上锁(./cleos wallet lock -n xxx)比如说我把wangerxiao给锁了(./cleos wallet lock -n wangerxiao

看到没?wangerxiao这个钱包被锁上啦!其它的还是好好的。

好,下边我们来利用wangerxiao的password把wangerxiao这个钱包解锁吧。

5、解锁钱包(./cleos wallet unlock -n xxx --password pasxxxxxxxxxxxxxxxxxxx

我们看一下上边,已知wangerxiao这个钱包的password为PW5JVrRerDpKyFxMFcoafsnCyPwdpSjVKRnkPsyXiF78WeYKCD71W,则解锁情况如下:

咦,为什么上图中,解锁wangerxiao后,其它钱包又被锁上了呢?哈哈哈哈……因为刚刚是中午饭时间,我出去吃了个饭,然后睡了个午觉才继续敲的,所以,超过一定的时间,这钱包就自动上锁了。非常我们的为我们的钱财安全着想哈!

至于这个超时时间是多少,我不知道,但是粗略估算一下,我这中间大概两个小时没操作它了,所以绝对是两个小时以内的事情

6、查看钱包中的keys(./cleos wallet keys

出于好奇,我创建了钱包后,能够通过./cleos wallet list获得钱包列表,但是我现在想要钱包的password怎么办呢?查了下文档好像没有这个方法,这个password应该是真真切切的要求你给记录在你自己的小本本里了,要是丢了的话,你钱包可就打不开了噢。

然而,我发现了还有一个命令——./cleos wallet keys,这货是干啥的?

于是我刚刚又去喝了杯水,回来后就在cleos中敲入了./cleos wallet keys这个命令,又发现wangerxiao这个钱包也被锁了,所以,说不准是5分钟就超时了

那我们就给你解锁嘛,解锁后再试试这个命令。

先解锁wangerxiao,然后使用./cleos wallet keys看看,咦,发现有一串奇怪的字符被返回。这是什么鬼?和我们的password根本就不一样,它居然是以EOS开头的。

我们再解锁simaguang,使用./cleos wallet list看看情况,发现有两个钱包被解锁了,然后再次输入./cleos wallet keys,回车,咦,怎么还是返回这一串鬼东西?这玩意儿哪来的?

哈哈哈,是不是一脸懵逼?

是不是很想知道这东西哪来的?

还记得我们上边修改config.ini的时候,里面的那串private-key嘛?又还记得我们刚修改好配置文件后运行节点时出现的那段黄色的信息嘛?

对,这玩意儿是我们导进去的,但是说实话,我那段config.ini的东西是3.0版本的,相对于这边的正式版有点老了,所以……回头抽空我们再来讲讲怎么弄一个适合V1.0.1版本的config.ini吧。

现在我们还来继续聊这个key的事。我们要查看key,那首先得里面有key,那这个key从哪里来呢?当然是我们自己创建的了。

这里EOS里面的key是公私钥对成对出现的,key和password不是同一个概念,虽然看起来都是一串很长的字符,但是——password是针对钱包wallet的,而key则是针对账户account的。

你创建了wangerxiao这个钱包,不等于你已经在链上有了wangerxiao这个账户,实际上wallet和account两者之间完全是没有关系的,只有当你将account的key放在wallet里的时候,它们两者之间才有了那么点点联系。

每一个account都会有两组公私钥对,对应该账户的两个角色——owner和active。所以我们每次创建账户的时候,都需要给新账户导入两个key进去。

至于怎么操作,我发现这一节已经写得有点长了,休息一下,下一节再聊吧。

转载于:https://www.cnblogs.com/paluano/p/cleos.html

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

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

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

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

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

  3. NASM学习(二)——从命令行获取参数

    NASM学习(二)--从命令行获取参数 学习汇编的目的是增强自己对硬件体系的熟悉与编译.链接等等阶段的熟悉 上文我们已经学会了怎么使用NASM来打印HELLO,WORLD了,总结一下,主要是使用系统调 ...

  4. Homebrew进阶使用教程(二)-用一个命令行天气客户端构建自己的仓库

    [homebrew 系列文章] HomeBrew常规使用教程 Homebrew进阶使用教程(一) Homebrew进阶使用教程(二)-用一个命令行天气客户端构建自己的仓库 Homebrew进阶使用教程 ...

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 研究人员吐槽当前AI训练效率过于低下
  2. 11. 系统信息监控
  3. 四种常见的MapReduce设计模式
  4. oracle故障级别划分,jfinal 2.2 oracle 事务级别问题
  5. Java基础_0206:方法的定义与使用
  6. asterisk for mipsel
  7. Linus 本尊来了!为什么 KubeCon 越来越火?
  8. cef 前进后台 实现_CefSpider: 一个基于Webkit,Cef框架构建爬虫,项目代号:“车风”,具备浏览器所有特性,欢迎你给我一个Star,你的Star是该项目前进的动力!...
  9. NAT(NAPT)地址转换过程
  10. 计算机二级数据模型三要素,2017年计算机二级公共基础知识重点讲解:数据模型...
  11. (9) tomcat中实现同一虚拟机中所有应用程序单点登录SSO
  12. python中返回上一步操作的代码_【代码学习】PYTHON字符串的常见操作
  13. TRF7970A 天线
  14. 暴雪2013年内发布linux游戏,只因win8是场灾难?
  15. centos7 pe系统安装_u盘pe修复系统引导u盘安装centos7 无法开机
  16. 金融计算机加权平均,加权平均
  17. 什么蓝牙耳机颜值高?盘点四款高颜值蓝牙耳机
  18. 如何调教ChatGPT成为你的策略助手
  19. 信息安全——安全威胁
  20. AD拼版工具 Embedded board array 进行PCB拼版注意事项

热门文章

  1. ldap数据库--ldapsearch,ldapmodify
  2. R语言之代码提速(对老虎机案例进行优化)
  3. 唯品会的“成年烦心事”
  4. 手把手教你ubuntu下移植MJPG-streamer
  5. 什么是 Hudi Timeline (时间线)
  6. 数据分析 | KNN模型
  7. window 7 IIS配置方法 win7 Internet信息服务配置方法详解
  8. 移动磁盘磁盘未被格式化要怎样办啊
  9. Quartz2.2.x官方文档2.2.X—第三章 10.配置,资源使用和SchedulerFactory
  10. 10年鼻炎,一路的辛酸泪