当前位置: 首页 > news >正文

EOS开发完全解析(二):用cleos命令行创建、导入、解锁钱包

钱包功能是eos的核心功能之一,几乎所有Dapp都需要使用钱包登录成功才能进行操作,甚至可以说钱包是所有Dapp的入口。

首先我们大概瞄一眼,eos钱包的有哪些操作,主要包括:创建、打开、锁定、解锁、导入、列出所有钱包等,接下来我们一一操作一波。

一、EOS钱包操作

首先我们需要先把节点启动,输入cd eos/build/programs/nodeos/进入到nodeos目录,然后执行./nodeos -e -p eosio --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin

然后最小化该命令行窗口, ctrl+alt+t重新打开一个新的命令行窗口,进入到cleos目录。

  • 1.1 创建钱包 ./cleos wallet create -n lgwallet --to-console -n是指定钱包名称,--to-console是打印到控制台 这里我创建了名为lgwallet的钱包
    最下面这一串数字PW5KZ2Zy7LsJajEsPcTCq6MzSZdETCiuDCfZq3rgEDDfuyt21ZLND是该钱包的密码,务必保管好,后面我们进行一些钱包操作的时候需要用到。

注意:生产环境千万不要暴露该密码给别人,否则别人拿到这个秘密就可以操作你的钱包了,到时候损失几个亿可别说浪哥没提醒你哦。

  • 1.2 打开钱包 ./cleos wallet open -n wallet1 这个命令是打开一个已经存在的钱包,比如下面我创建wallet1的时候,提示我这个钱包已经存在,但是我调用list的时候,并没有看到我的钱包,这时候我就需要先将该钱包打开,然后再调用list就可以出来了。

  • 1.3 列出所有钱包 ./cleos wallet list 这个命令比较简单,我们直接看效果,其中带 *代表未锁定的钱包,我们刚刚创建的lgwallet就是处于解锁状态,另外两个defaultwallet1都处于锁定状态。

注意:list只能列出所有已打开的钱包,如果没有列出已经存在的钱包,只需要调用1.2的指令,打开该钱包即可。

  • 1.4 锁定钱包 ./cleos wallet lock -n lgwallet 命令比较简单,不废话了,直接看效果。

  • 1.5 解锁钱包 ./cleos wallet unlock -n lgwallet --password PW5KZ2Zy7LsJajEsPcTCq6MzSZdETCiuDCfZq3rgEDDfuyt21ZLND 其中lgwallet从不带*变为带*代表解锁成功。

  • 1.6 导入私钥 主要分为两步 第一步,生成公私钥: ./cleos create key --to-console

Private key: 5KZ671DNWdP3PdCQLckCma3YyGXUR92ajM1nKHhJH54zf3isADY Public key: EOS78toDB64JtRpyeF7V35PPiBRLMcqWedd99dR3WDEApYkHhz2Tn

**注意:后期创建账号的时候会关联你的公私钥,所以上面生成的公私钥务必保管好,生产环境千万不要暴露该密钥给别人,否则别人可以随意操纵你的账号,一不小心损失几个亿。**具体用途,在创建账号的时候我们再详细讨论,这里先不展开讲。

第二步,将私钥导入到钱包: ./cleos wallet import -n lgwallet --private-key 5KZ671DNWdP3PdCQLckCma3YyGXUR92ajM1nKHhJH54zf3isADY

  • 1.7 查看钱包的公钥 ./cleos wallet keys 该指令可以查看所有已解锁钱包的公钥。EOS78toDB64JtRpyeF7V35PPiBRLMcqWedd99dR3WDEApYkHhz2Tn是不是很熟悉的赶脚?没错,这就是我们刚导入到lgwallet钱包对应的公钥。

  • 1.8 查看钱包的私钥 ./cleos wallet private_keys -n lgwallet --password PW5KZ2Zy7LsJajEsPcTCq6MzSZdETCiuDCfZq3rgEDDfuyt21ZLND

注意:进行该操作之前需要解锁该钱包。

  • 1.9 创建公私钥并导入钱包 ./cleos wallet create_key -n wallet2 该操作相当于将1.6中的两步合并为一步,即创建公私钥并且导入到该钱包。

  • 1.10 移除已导入到钱包的公私钥 ./cleos wallet remove_key EOS4wLeivKFF5U1LzDWLbfnx3DDtfuqznabzxRARgFJ6Z5aeqGahH -n wallet2 --password PW5JPuxjnYwd5z25A8E5wmZYxWbmXwtuJGg1iZc97fpfjTJhxGmar 这个指令看起来比较长,其实也比较简单,主要就是三个参数,分别是该钱包对应的公钥、钱包名以及钱包密码。

  • 1.11 锁定所有钱包 ./cleos wallet lock_all 这个没啥好说的,直接看效果图,一目了然。

二、总结

到目前为止,我们已经完成了钱包的所有操作,是不是很easy?下一讲我们将讲解“EOS账号创建”,敬请期待。

获取最新、最全的EOS开发教程请关注微信公众号:区块链浪潮之巅——一个集项目分析与区块链技术开发于一体的公众号。

相关文章:

  • 返回一个二维整数数组中最大子数组的和
  • 1、jeecg 笔记开篇
  • 论文笔记:Visual Semantic Navigation Using Scene Priors
  • InlineHookPsTerminateProcess(0环)
  • 人工智能会改变世界?那这项技能你必须要掌握了。
  • 如何洞悉城市人群移动规律?DataV海量轨迹可视化实践解析
  • webpack4 正确的配置方式
  • 5s管理推进的三个阶段及三大实施原则
  • 小程序生命周期流程
  • 前端缓存-IndexedDB
  • 生产LVS负载均衡与keepalive的高可用实践
  • SQL数据库字段数据类型详细说明
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • Mysql密码重置
  • hadoop之旅6-windows本地MapReducer离线单词统计
  • 2017前端实习生面试总结
  • Druid 在有赞的实践
  • Elasticsearch 参考指南(升级前重新索引)
  • java正则表式的使用
  • js递归,无限分级树形折叠菜单
  • node 版本过低
  • PHP面试之三:MySQL数据库
  • Python中eval与exec的使用及区别
  • SegmentFault 2015 Top Rank
  • 初探 Vue 生命周期和钩子函数
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 基于遗传算法的优化问题求解
  • 记一次用 NodeJs 实现模拟登录的思路
  • 如何学习JavaEE,项目又该如何做?
  • 移动端唤起键盘时取消position:fixed定位
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 在Mac OS X上安装 Ruby运行环境
  • Java性能优化之JVM GC(垃圾回收机制)
  • #、%和$符号在OGNL表达式中经常出现
  • #NOIP 2014# day.2 T2 寻找道路
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)用.Net的File控件上传文件的解决方案
  • (转载)虚函数剖析
  • .NET Core 2.1路线图
  • .Net core 6.0 升8.0
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .net core 连接数据库,通过数据库生成Modell
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .net 后台导出excel ,word
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • .NET中的十进制浮点类型,徐汇区网站设计
  • //解决validator验证插件多个name相同只验证第一的问题