雖然eos給了安裝教程,當然還是用docker最方便。而且現在docker還有阿里雲映象,速度快的不要不要的。
官方教程了https://github.com/EOSIO/eos/…,不過只是想執行的話,也不用build,直接在原始碼的Docker目錄下執行:
$ docker-compose up
就好了,會自動啟動兩個容器:
- keosd 錢包管理元件,負責簽名啊啥的
- nodeosd 區塊鏈節點
eos更新很快,教程更新不及時,截至今天(2018-5-23),教程裡cleos(命令列工具)的配置是有問題的。
Long version
# 有問題!
$ alias cleos=`docker-compose exec keosd /opt/eos/bin/cleos -H nodeos`
首先你可能遇到命令不存在,因為路徑變過了,當前是/opt/eosio/bin/cleos
。即便是改變了路徑,發現還是會報錯:
Host and port options (-H, --wallet-host, etc.) have been replaced with -u/--url and --wallet-url
Use for example -u http://localhost:8888 or --url https://example.invalid/
錯誤也說明了原因。
重新配置下發現還是報錯:
# 還是有問題!
$ alias cleos=`docker-compose exec keosd /opt/eosio/bin/cleos -u http://localhost:8888/`
$ cleos get info
Error 3130001: Missing Chain API Plugin
Ensure that you have eosio::chain_api_plugin added to your node`s configuration!
Error Details:
Chain API plugin is not enabled
這錯報的真是驚天地泣鬼神,按照提示你死活是搞不對的,因為預設Chain API Plugin
是開啟的。
其實是本來就不該連localhost,要連到鏈上去。
修改為:
$ alias cleos=`docker-compose exec keosd /opt/eosio/bin/cleos -u http://nodeosd:8888/ --wallet-url http://localhost:8888`
$ cleos get info
{
"server_version": "4e99cf47",
"head_block_num": 1975,
"last_irreversible_block_num": 1974,
"last_irreversible_block_id": "000007b6d7f08fed622ffbf03d516e70d05d6f731cd3157cf5b0215182e0a3aa",
"head_block_id": "000007b77d87993ec68eaaa3cf3752433e7a012aeffb41f9d65c2ddda5fe195c",
"head_block_time": "2018-05-23T08:07:40",
"head_block_producer": "eosio",
"virtual_block_cpu_limit": 717591,
"virtual_block_net_limit": 7553528,
"block_cpu_limit": 99900,
"block_net_limit": 1048576
}
好了,終於可以愉快的使用cleos了。
Short Version
$ alias cleos=`docker-compose exec keosd /opt/eosio/bin/cleos -u http://nodeosd:8888/ --wallet-url http://localhost:8888`
cleos即可正常使用。