博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EOS技术贴-如何创建EOS钱包和账号并发起转账和投票
阅读量:5925 次
发布时间:2019-06-19

本文共 5165 字,大约阅读时间需要 17 分钟。

作者: ThinkBit技术团队

1. 安装EOS节点

Build EOS节点耗时较长,预计需要1小时:

git clone https://github.com/EOSIO/eos --recursivecd eos./eosio_build.shcd buildsudo make install复制代码

Mac上可能执行build失败,需要手动执行命令修复一下link,然后再次build()

brew unlink gettext && brew link --force gettext./eosio_build.shcd buildsudo make install复制代码

安装成功后运行nodeos命令查看是否能成功启动EOS节点

nodeos复制代码

2. 修改配置文件

Linux: vi ~/.local/share/eosio/nodeos/config/genesis.jsonMac: vi ~/genesis.json{  "initial_timestamp": "2018-06-08T08:08:08.888",  "initial_key": "EOS7EarnUhcyYqmdnPon8rm7mBCTnBoot6o7fE2WzjvEX2TdggbL3",  "initial_configuration": {    "max_block_net_usage": 1048576,    "target_block_net_usage_pct": 1000,    "max_transaction_net_usage": 524288,    "base_per_transaction_net_usage": 12,    "net_usage_leeway": 500,    "context_free_discount_net_usage_num": 20,    "context_free_discount_net_usage_den": 100,    "max_block_cpu_usage": 200000,    "target_block_cpu_usage_pct": 1000,    "max_transaction_cpu_usage": 150000,    "min_transaction_cpu_usage": 100,    "max_transaction_lifetime": 3600,    "deferred_trx_expiration_window": 600,    "max_transaction_delay": 3888000,    "max_inline_action_size": 4096,    "max_inline_action_depth": 4,    "max_authority_depth": 6  }}Linux: vi ~/.local/share/eosio/nodeos/config/config.iniMac: vi ~/Library/Application\ Support/eosio/nodeos/config/config.ini将下列配置添加到config.ini末尾:p2p-peer-address = eos-bp.bitfinex.com:9876p2p-peer-address = peering.mainnet.eoscanada.com:9876p2p-peer-address = node869-mainnet.eosauthority.com:9393p2p-peer-address = eu1.eosdac.io:49876p2p-peer-address = node1.eoscannon.io:59876p2p-peer-address = peer1.mainnet.helloeos.com.cn:80p2p-peer-address = bp.eosbeijing.one:8080p2p-peer-address = 119.254.15.39:9876p2p-peer-address = p2p.prod.eosgravity.com:80p2p-peer-address = node1.eosnewyork.io:6987p2p-peer-address = p2p.eos42.io:9876p2p-peer-address = node1.liquideos.com:9876p2p-peer-address = peer1.mainnet.eos.store:80p2p-peer-address = pub0.eosys.io:6637p2p-peer-address = p2p.meet.one:9876plugin = eosio::chain_pluginplugin = eosio::chain_api_pluginplugin = eosio::net_pluginplugin = eosio::net_api_pluginplugin = eosio::history_pluginplugin = eosio::history_api_pluginplugin = eosio::http_pluginplugin = eosio::http_client_pluginplugin = eosio::wallet_api_plugin复制代码

3. 启动EOS节点

先清除一下历史数据:

Linux: rm -fr ~/.local/share/eosio/nodeos/data/Mac: rm -fr ~/Library/Application\ Support/eosio/nodeos/data/复制代码

首次启动EOS时需指定genesis.json,否则启动的不是EOS主网:

Linux: nodeos --genesis-json ~/.local/share/eosio/nodeos/config/genesis.jsonMac: nodeos --genesis-json ~/genesis.json复制代码

Ctrl+C停止后再次运行nodeos启动不带--genesis-json参数即可,如果需要后台运行使用如下命令:

nohup nodeos &复制代码

启动EOS节点成功后就会开始同步区块 运行cleos get info命令查看状态,注意chain_id必须是如下值才代表EOS节点连接的是主网: aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906

4. 创建钱包

查看当前节点钱包列表

cleos wallet list复制代码

创建一个新钱包,名字为myeoswallet,并记住打印出来的钱包密码

cleos wallet create -n myeoswallet复制代码

解锁钱包才能进行转账等需要私钥签名的操作

cleos wallet unlock -n myeoswallet --password {wallet password}复制代码

创建的钱包文件在~/eosio-wallet/myeoswallet.wallet,为了安全可以备份后删除该钱包文件,等需要时再拷贝过来

5. 导入私钥

将之前映射EOS时的私钥导入钱包

cleos wallet import {EOS private key} -n myeoswallet复制代码

查看导入的公钥

cleos wallet keys复制代码

查看导入的公私钥

cleos wallet private_keys -n myeoswallet --password {wallet password}复制代码

6. 查询账号

等待EOS节点同步完成后才可以查询最新的账号和余额等信息,同步节点预计N小时 可以使用cleos get info命令查看head_block_num是否赶上 https://eospark.com 首页显示的区块数量 通过EOS公钥查询账号

cleos get accounts {EOS pub key}复制代码

查询EOS余额

cleos get currency balance eosio.token {accountname}复制代码

查询EOS account状态

cleos get account {accountname}复制代码

7. 解除抵押

通过上一步我们发现我们映射EOS后,EOS主网自动帮我们创建了一个12位的account,但是余额只有10EOS,其他的EOS全部变成抵押状态,如果我们想将staked EOS变成balance,就先需要解除抵押

cleos system undelegatebw {accountname} {accountname} '100 EOS' '100 EOS'复制代码

解除抵押后再cleos get account查看状态,会提示你72小时后才能返还(funds will be available in 72 hr) 72小时后需要再执行refund命令才能将unstaked EOS变成balance

cleos push action eosio refund '{"owner":"accountname"}' -p accountname复制代码

然后查询EOS余额会发现余额增加了

cleos get currency balance eosio.token {accountname}复制代码

8. 创建EOS新账号

创建12位EOS新账号不需要竞价,只要没被占用就可以创建成功 先创建一对公私钥

cleos create key复制代码

创建新账号testtesttest,这里需要消耗parent account的余额来购买ram才能创建新账号,owner和active权限可以都是用刚创建的公钥,当然也可以使用之前映射过的EOS公钥作为第一个pub key参数来作为owner权限

cleos system newaccount --stake-net '0 EOS' --stake-cpu '0 EOS' --buy-ram-kbytes 4 {parent account} testtesttest{EOS pub key} {EOS pub key}复制代码

创建完账号可以去EOS浏览器查看 https://eospark.com

9. 转账EOS

EOS转账需要解锁钱包,导入私钥,并确保转账的account有带宽,如果带宽不足需要先抵押EOS获得带宽 查看账号带宽

cleos get account {accountname}复制代码

给账号抵押带宽

cleos system delegatebw {from accountname} {receiver accountname} '1 EOS' '1EOS'复制代码

可以相同的account给自己抵押EOS获得带宽,也可以使用一个account给另一个account抵押EOS获得带宽 发起转账,注意填写MEMO,转账给交易所一般是集中的account,必须填写正确的MEMO才能识别用户并正确入帐

cleos transfer {sender accountname} {recipient accountname} '100 EOS' MEMO复制代码

10. EOS投票

如果账号有抵押的EOS,可以进行EOS节点投票

cleos system voteproducer prods {accountname} bitfinexeos1 eoscannonchn eosbeijingbp复制代码

节点名可以使用cleos system listproducers命令查看 每次投票最多可以投30个节点,重复发起投票会覆盖之前的投票节点 投票之后可以使用cleos get account {accountname}命令查看投票结果 账号的EOS解除抵押后节点的投票得分将清零

更多功能参考EOS官方文档

最后,欢迎对区块链技术感兴趣的小伙伴加入ThinkBit~ 欢迎站内联系或简历直投 hr@thinkbit.com

  • Telegram中文群
  • Twitter
  • 微博
  • 公众号 ThinkBitPro_2018

转载地址:http://phovx.baihongyu.com/

你可能感兴趣的文章
bcdedit
查看>>
asp.net ajax检查用户名是否存在代码
查看>>
利用jquery给指定的table动态添加一行、删除一行
查看>>
android 开源组件合集-UI篇(2013-11-07更新)
查看>>
[转]Multiple outputs from T4 made easy
查看>>
hdu 4597 + uva 10891(一类区间dp)
查看>>
js获取当前页面url网址等信息
查看>>
软件方面的词汇
查看>>
[禅悟人生]尊严非席, 不可卷起
查看>>
HelloSilverlight
查看>>
在phpmyadmin后台获取webshell方法汇总整理
查看>>
UpdatePanel的用法
查看>>
开源Math.NET基础数学类库使用(04)C#解析Matrix Marke数据格式
查看>>
四种DCOM错误的区别,0x80080005 0x800706be 0x80010105 0x
查看>>
深入浅出Docker(三):Docker开源之路
查看>>
同一个PC只能运行一个应用实例(考虑多个用户会话情况)
查看>>
js深拷贝和浅拷贝
查看>>
WPF:在ControlTemplate中使用TemplateBinding
查看>>
loadrunner 参数化数据更新方式
查看>>
AngularJS快速入门指南09:SQL
查看>>