00 导言

如何创建和管理钱包

EOS创建钱包需要用到相应的命令工具。实际上EOS包含了好几种命令工具,每一种命令下又包含了若干的子命令,它们组成了一套命令工具集。这几种命令工具如下:

命令 说明
nodeos (node + eos = nodeos) - 核心的EOSIO节点守护进程,用于启动节点,生产区块和接收API请求
cleos (cli + eos = cleos) - 客户端命令行交互模块,用于解析用户命令,根据具体命令请求调用相应的接口,例如查看区块信息、操作钱包等等
keosd (key + eos = keosd) - 钱包相关密钥的安全管理模块

这几种命令工具的关系如下图所示:

创建和管理钱包,我们需要用到cleos下的子命令wallet。直接在命令行键入cleos回车,可以查看相应的子命令。

$ cleos
ERROR: RequiredError: Subcommand required
Command Line Interface to EOSIO Client
Usage: cleos [OPTIONS] SUBCOMMANDOptions:-h,--help                   Print this help message and exit-u,--url TEXT=http://localhost:8888/the http/https URL where nodeos is running--wallet-url TEXT=http://localhost:8900/the http/https URL where keosd is running-r,--header                 pass specific HTTP header; repeat this option to pass multiple headers-n,--no-verify              don't verify peer certificate when using HTTPS-v,--verbose                output verbose actions on error--print-request             print HTTP request to STDERR--print-response            print HTTP response to STDERRSubcommands:version                     Retrieve version informationcreate                      Create various items, on and off the blockchainget                         Retrieve various items and information from the blockchainset                         Set or update blockchain statetransfer                    Transfer EOS from account to accountnet                         Interact with local p2p network connectionswallet                      Interact with local walletsign                        Sign a transactionpush                        Push arbitrary transactions to the blockchainmultisig                    Multisig contract commandssystem                      Send eosio.system contract action to the blockchain.

我们在命令行中键入 cleos wallet,可以查看wallet这个子命令的子命令。

$ cleos wallet
ERROR: RequiredError: Subcommand required
Interact with local wallet
Usage: cleos wallet SUBCOMMANDSubcommands:create                      Create a new wallet locallyopen                        Open an existing walletlock                        Lock walletlock_all                    Lock all unlocked walletsunlock                      Unlock walletimport                      Import private key into walletremove_key                  Remove key from walletcreate_key                  Create private key within walletlist                        List opened wallets, * = unlockedkeys                        List of public keys from all unlocked wallets.private_keys                List of private keys from an unlocked wallet in wif or PVT_R1 format.stop                        Stop keosd (doesn't work with nodeos).

01 创建默认钱包

使用 cleos wallet create 可以创建钱包。

$ cleos wallet create
"/usr/local/bin/keosd" launched
Creating wallet: default
Save password to use in the future to unlock this wallet.
Without password imported keys will not be retrievable.
"PW5JAxrSC6pGmpqTt2ygaRgWW7WXAex7QtwMRknkUzG1ThCfDuS39"

“PW5JAxrSC6pGmpqTt2ygaRgWW7WXAex7QtwMRknkUzG1ThCfDuS39”是生成的钱包密码,cleos可以用来管理多个钱包,但每个钱包都通过不同的钱包密码进行保护,请一定妥善保存!

02 创建指定名称的钱包

上面create后面什么都不跟,此时创建的是default钱包。我们也可以使用 -n 选项,后面跟上钱包名称,可以创建指定名称的钱包。

$ cleos wallet create -n testwallet
Creating wallet: testwallet
Save password to use in the future to unlock this wallet.
Without password imported keys will not be retrievable.
"PW5JJpM79Za4jymBvMfqDmtzGQxUP3imJyTe9LCVpmSsytTbwTDVA"

上面创建了一个名称为testwallet的钱包。

03 查看所有钱包

使用cleos wallet list可以创建已经创建的所有钱包。

$ cleos wallet list
Wallets:
["default","testwallet *"
]

我们拥有了两个钱包,一个是default,一个是testwallet。

04 锁定钱包

通过cleos wallet list可以查看已经创建的所有钱包,不过细心的你可能会发现testwallet钱包后面带了一个*号。这个*号表示钱包的处于解锁状态,刚刚创建的钱包默认是解锁状态的。等过一阵子,钱包就会自动变为锁定状态了,例如default钱包就处于锁定状态。

我们也可以使用cleos wallet lock子命令手动锁定某个钱包。

$ cleos wallet lock -n testwallet
Locked: testwallet$ cleos wallet list
Wallets:
["default","testwallet"
]

如果不加-n ,则表示锁定default钱包。

05 解锁钱包

处于锁定状态的钱包,什么事都做不了,此时需要解锁钱包。使用cleos wallet unlock可以解锁default钱包,加上-n表示解锁指定名称的钱包。这个过程需要输入自己钱包的私钥。

$ cleos wallet unlock -n testwallet
password:
Unlocked: testwallet$ cleos wallet list
Wallets:
["default","testwallet *"
]

06 创建密钥对

想象一下,现实生活中钱包是用来干吗的?你肯定会说钱包当然是用来放钱的,没错,除此之处钱包也可以用来放各种各样的银行卡。银行卡通过账号和密码进行操作。与之相类似,区块链的钱包是用来管理密钥对的。一组密钥对相当于一张银行卡,公钥对应银行卡的账号,私钥对应银行卡的密码。一个区块链钱包可以管理多组密钥对。

使用cleos create key --to-console命令可以创建密钥对。

上面我们创建了两钥密钥对。

07 导入私钥

接下来我们可以将上面创建的两组密钥对导入同一个钱包。使用cleos wallet import -n 指定的钱包名称 --password 钱包私钥命令,后面跟上私钥进行导入。

不加-n选项 ,表示导入到default钱包。

08 列出所有已解锁钱包导入的公钥

使用cleos wallet keys列出所有已解锁钱包导入的公钥

默认列出所有钱包,不能通过-n选项来指定某个钱包。

09 列出指定钱包导入的密钥对

使用cleos wallet private_keys列出指定钱包导入的密钥对,我这里是导入了很多钱包。

不加-n参数,表示列出default钱包导入的密钥对。

EOS合约开发 - 钱包篇相关推荐

  1. EOS合约开发2-投票合约开发

    前言 合约是DAPP的基础,因此在开发DAPP之前,我们需要明白我们的项目是否需要去中心话以及哪些数据需要去中心化,目前的公链还不支持所有的资源都去中心话,这样才能更好的设计我们的项目和合约.接下来将 ...

  2. 以太坊智能合约开发第二篇:理解以太坊相关概念

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 很多人都说比特币是区块链1.0,以太坊是区块链2.0.在以太坊平台上,可以开发各种各样的去中心化应用,这些应用构成了以太 ...

  3. EOS合约开发第十九章-集中博彩游戏合约设计

    集中博彩游戏合约设计 一.功能接口 1. 质押deposit 由用户发起,用户将个人账户中token质押给平台,从而可以进入平台去参与平台活动. 2. 赎回withdraw 由用户发起,在用户结束平台 ...

  4. EOS智能合约开发(四)EOS智能合约部署及调试(附编程示例)

    EOS的智能合约里面有一个action(动作)和transaction(交易)的概念. 对于我们开发以太坊开发者来说,基本上只有transaction的概念.如果我只要执行一种操作,而且是只读操作,就 ...

  5. EOS 智能合约开发实践(一)EOS钱包的简单使用

    EOS介绍: EOS,全称Enterprise Operation System,即商用分布式操作系统.EOS是一种全新的区块链架构,旨在实现分布式应用的性能扩展.注意,它并不是像比特币和以太坊那样的 ...

  6. 原 EOS智能合约开发入门

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. EOS智能合约的开发需要使用llvm和abigen来生成abi文件. 为此eos提供了一个 名为eosiocpp的工具. ...

  7. c++ eos智能合约开发_[EOS智能合约]第二节:用EOS开发一个To-do List小应用

    EOS Asia 本教程原文作者为EOS Asia,亚洲最具技术实力和最国际化的EOS超级节点竞选者.EOS Asia 同时也是EOS Gems和Traffic Exchange Token这两个项目 ...

  8. c++ eos智能合约开发_十分钟教你开发EOS智能合约

    EOS环境搭建和启动节点 下面从EOS入门的环境搭建.编译运行一个智能合约.发送一些Aigsen,给大家做一些展示,希望能让非技术人员也有一些收获. 首先下载EOS环境搭建和启动节点.这一步其实还是比 ...

  9. 最新EOS合约教程,从系统到环境,从创建到部署,从前端到后台,Dapp开发

    最新EOS合约教程,从系统到环境,从创建到部署,从前端到后台,Dapp开发 前言 环境 重点声明: 1,安装虚拟机也好, 双系统也好, 把Linux装了 2, 安装EOSIO开发环境, 使用js4eo ...

  10. EOS智能合约开发(三)EOS创建和管理账户

    创建好钱包和密钥后,我们就需要创建账户.为什么创建账户,为了方便人与区块链交互.以太坊40位地址,让我们非常难以记忆.EOS有账户概念,我们就可以定义账户权限. 在区块链上执行操作,需要使用到账号.我 ...

最新文章

  1. iOS和android h5字体差异,关于移动hybrid开发中H5页面的字体应与系统保持一致的问题...
  2. java与工业相机,OpenCV软件与工业相机的组合在机器视觉中的应用
  3. 博客园出现了奇怪的cookie问题
  4. aes256 加密后的长度_视频会议Zoom 5.0版本重大更新,增强加密功能提供更多安全选项...
  5. axios某一接口失败后不调用_axios 源码系列之如何取消请求
  6. php文件上传漏洞防御,第十二课 php文件上传漏洞和代码防御
  7. patterns practices Security Guidance for Applications Index
  8. 海洋科学导论知识点总结
  9. 2021年1月PHP面试题总结
  10. IEMS_11_课程信息相关的初始数据导入
  11. 张博涵清华大学_2009年北大,清华提前录取保送生人数最多的 33所中学
  12. Excel工作表忘记密码后取消密码
  13. 一些与OWL相关的推理机的区别(如:Jess、Jena、Pellet等)
  14. 老路《用得上的商学课》学习笔记(6-10课)
  15. 大疆文档(8)-Android教程-模拟器App
  16. 进制如何转换?原理是什么?
  17. 展讯平台GPIO调试方法
  18. 企业即时通讯软件FreeEIM飞鸽传书
  19. 西门子6SE70交流变频器的详细介绍
  20. leecode 解题总结:332. Reconstruct Itinerary

热门文章

  1. 【考试经验】脱离GRE苦海,30天逆袭贴
  2. 最新2022亲测可用的免费google翻译api
  3. 扫荡波”来袭已造成大面积用户系统崩溃
  4. javaweb JAVA JSP球鞋销售系统购物系统ssm购物系统购物商城系统源码(ssm电子商务系统)
  5. ppc64,ppc64le,ARM,AMD,X86,i386,x86_64(AMD64),AArch64的概念
  6. 渗透之——ASP Web提权
  7. 从我国第一例计算机病毒是小球病毒,传入我国的第一例计算机病毒是
  8. ADB工具使用教程(新手总结笔记)
  9. 联合作战效能评估软件
  10. Ubuntu各类版本下载地址(网易镜像)