作者: ThinkBit技术团队
1. 安装EOS节点
Build EOS节点耗时较长,预计需要1小时:
git clone https://github.com/EOSIO/eos --recursive
cd eos
./eosio_build.sh
cd build
sudo make install
复制代码
Mac上可能执行build失败,需要手动执行命令修复一下link,然后再次build(github.com/EOSIO/eos/i…)
brew unlink gettext && brew link --force gettext
./eosio_build.sh
cd build
sudo make install
复制代码
安装成功后运行nodeos命令查看是否能成功启动EOS节点
nodeos
复制代码
2. 修改配置文件
Linux: vi ~/.local/share/eosio/nodeos/config/genesis.json
Mac: 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.ini
Mac: vi ~/Library/Application\ Support/eosio/nodeos/config/config.ini
将下列配置添加到config.ini末尾:
p2p-peer-address = eos-bp.bitfinex.com:9876
p2p-peer-address = peering.mainnet.eoscanada.com:9876
p2p-peer-address = node869-mainnet.eosauthority.com:9393
p2p-peer-address = eu1.eosdac.io:49876
p2p-peer-address = node1.eoscannon.io:59876
p2p-peer-address = peer1.mainnet.helloeos.com.cn:80
p2p-peer-address = bp.eosbeijing.one:8080
p2p-peer-address = 119.254.15.39:9876
p2p-peer-address = p2p.prod.eosgravity.com:80
p2p-peer-address = node1.eosnewyork.io:6987
p2p-peer-address = p2p.eos42.io:9876
p2p-peer-address = node1.liquideos.com:9876
p2p-peer-address = peer1.mainnet.eos.store:80
p2p-peer-address = pub0.eosys.io:6637
p2p-peer-address = p2p.meet.one:9876
plugin = eosio::chain_plugin
plugin = eosio::chain_api_plugin
plugin = eosio::net_plugin
plugin = eosio::net_api_plugin
plugin = eosio::history_plugin
plugin = eosio::history_api_plugin
plugin = eosio::http_plugin
plugin = eosio::http_client_plugin
plugin = 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.json
Mac: 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官方文档 developers.eos.io/eosio-cleos…
最后,欢迎对区块链技术感兴趣的小伙伴加入ThinkBit~ 欢迎站内联系或简历直投 hr@thinkbit.com
- Telegram中文群 t.me/ThinkBitPro…
- Twitter twitter.com/ThinkBitPro
- 微博 weibo.com/thinkbitexc…
- 公众号 ThinkBitPro_2018