兄弟连区块链培训EOS源码分析(4)钱包.docxVIP

兄弟连区块链培训EOS源码分析(4)钱包.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE1 / NUMPAGES1 兄弟连区块链培训EOS源码分析(4)钱包 钱包是区块链中一个很重要的概念。顾名思义,说到钱包的时候,我们一定会想到它是用来存钱的,但是数字化的钱包和现实社会的钱包还是有一些区别的。现实世界的钱包中真的放着法币,而数字化钱包存放的是钥匙,这把钥匙可以打开存放你余额的保险箱。 我们拿支付宝钱包做一个例子,支付宝钱包这个应用中也没有真实的钱,只有很多个账号和密码,每一对账号和密码都能打开一个保险箱,这些保险箱统一寄存在阿里服务器上。 区块链钱包也和支付宝钱包类似,里面没有真实的货币,而是存储了很多私钥,每一把钥匙都对应着一个数字货币的保险箱,这些保险箱则是保存在区块链上。这里的密钥就等同于支付宝中的一对账号和密码。这个私钥有以下两点作用: 1.?生成公钥,从而生成交易地址(类似于你的支付二维码) 2.?生成签名,从而签署一笔交易(类似于你的支付密码) 有了以上这两个功能后,你就可以与任何人进行货币的交易了。 EOS 钱包中也保存着密钥,但EOS钱包和其他区块链钱包也存在着一些差异,主要差异在于EOS 中的密钥主要是用来生成签名的,它并不用来生成交易地址。也就是说上述私钥中的两点功能,EOS密钥主要用来支持第二点功能。那如果缺少了第一点功能,别人如何向你转账呢? EOS 的解决办法是引入了账号的概念,账号可以是2位到32位的任意字符串,从而方便用户记忆,用户之间的转账是通过账号来进行操作的。EOS团队认为使用公钥作为交易地址对用户来说太不友好了,没人能够记得一长串无意义的字符串,相比而言,人们更习惯以字符串名称作为账号来使用,因此,EOS引入了账号系统,每个账号都对应的密钥,主要用来进行签名处理。 接下来,我们将具体了解下EOS系统中钱包所提供的主要接口及其具体的实现。 # 钱包工具 钱包的主要功能就是存储私钥,从而在生成交易的时候可以进行签名。它一般是一个运行在你本地机器的程序。 在EOS系统中,钱包功能是以插件的方式提供的,这使得它可以很容易的集成在EOS节点中运行,也可以作为一个独立的程序运行; -?集成在EOS节点中 在eosd 所引用的config.ini 文件中加入钱包支持:`plugin = eosio::wallet_api_plugin`, 增加以上配置后,节点就支持钱包接口调用了 -?独立的程序运行 钱包应用的路径为:`path-to-eos/build/programs/eos-walletd`,直接运行此程序即可 ## 钱包所支持的命令 `eos-walleted`是一个后台程序,它不直接支持命令行参数,但它支持RPC调用,你可以通过`eosc`?程序与其进行交互,此程序的路径为:`eos/build/programs/eosc`。其提供的命令如下: ### Create ``` $ eosc wallet create ${options} ``` Options: -n, --name TEXT=default 钱包的名称,默认名称为default ### Open 打开已创建的钱包。钱包只有处于打开状态,才能对其进行进一步的操作。 ``` $ eosc wallet open ${options} ``` Options: -n,--name TEXT 所要打开钱包的名称 ### Lock 对钱包进行加锁,一旦加锁后,就不能再对钱包进行其他操作了,解锁后才可进一步操作。 ``` $ eosc wallet lock ${options} ``` Options: -n,--name TEXT 需要加锁的钱包名称 ### Unlock 对钱包进行解锁。 ``` $ eosc wallet unlock ${options} ``` Options: -n,--name TEXT 需要解锁的钱包名称 --password TEXT 钱包密码,这个密码是在创建钱包时生成的 ### Import private key into wallet 把私钥导入到钱包中,如果你想使用某一账号进行转账等操作,则此账号对应的私钥必须导入到钱包中才能进行。 ``` $ eosc wallet import ${options} key ``` Positionals: key TEXT 将要导入的私钥,格式为 WIF。 Options: -n,--name TEXT 钱包名称 ### List 罗列出所有打开的钱包, *号标示的钱包表示其状态为 unlocked ``` $ eosc wallet list ``` ### Keys 罗列出所有unlocked状态钱包中的私钥,格式为 WIF。 ``` $ eosc wallet k

文档评论(0)

118lingling + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档