作者: 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中文群
- 微博
- 公众号 ThinkBitPro_2018