精通EOS系列 | EOS初體驗
EOS 初體驗
很多人都聽說過 EOS,號稱區塊鏈 3.0。你是不是很想體驗一把然後再決定要不要繼續研究下去,EOS 是用 C++ 開發的,可是對於 C++ 系統來說,編譯絕對是個麻煩,依賴一大堆,依賴裝好了,也不一定能順利編譯成功,還有新的問題再等著你。現在,我們有新的方法,讓你提前體驗 EOS,那就是 Docker。
對於 Docker 來說,很多人都不陌生,如果不清楚可以自行 Google,具體怎麼安裝我這裡就略過了。
下面,我們來講下怎麼用 Docker 來執行 EOS。
除非另有說明,下面的命令都在 shell 或控制檯下執行下面執行。
-
第一步,獲取 EOS 的 Docker 映象。
docker pull eosio/eos:v1.4.2
通過上面的命令,我們在本地順利下載了 EOS 1.4.2 的映象在本地。 -
第二步,啟動節點和錢包。
docker run --name eosio \ --publish 7777:7777 \ --publish 127.0.0.1:5555:5555 \ --volume CONTRACTS_DIR:CONTRACTS_DIR \ --detach \ eosio/eos:v1.4.2 \ /bin/bash -c \ "keosd --http-server-address=0.0.0.0:5555 & exec nodeos -e -p eosio --plugin eosio::producer_plugin --plugin eosio::chain_api_plugin --plugin eosio::history_plugin --plugin eosio::history_api_plugin --plugin eosio::http_plugin -d /mnt/dev/data --config-dir /mnt/dev/config --http-server-address=0.0.0.0:7777 --access-control-allow-origin=* --contracts-console --http-validate-host=false --filter-on='*'"
通過上面的命令,我們啟動了 EOS 啟動和節點。 -
第三步,接下來,我們檢查具體例項。
-
檢查節點生成區塊
docker logs --tail 10 eosio
命令執行完成後,你就可以看到類似下面的 EOS 出塊的過程:1929001ms thread-0producer_plugin.cpp:585block_production_loo ] Produced block 0000366974ce4e2a... #13929 @ 2018-05-23T16:32:09.000 signed by eosio [trxs: 0, lib: 13928, confirmed: 0] 1929502ms thread-0producer_plugin.cpp:585block_production_loo ] Produced block 0000366aea085023... #13930 @ 2018-05-23T16:32:09.500 signed by eosio [trxs: 0, lib: 13929, confirmed: 0] 1930002ms thread-0producer_plugin.cpp:585block_production_loo ] Produced block 0000366b7f074fdd... #13931 @ 2018-05-23T16:32:10.000 signed by eosio [trxs: 0, lib: 13930, confirmed: 0] 1930501ms thread-0producer_plugin.cpp:585block_production_loo ] Produced block 0000366cd8222adb... #13932 @ 2018-05-23T16:32:10.500 signed by eosio [trxs: 0, lib: 13931, confirmed: 0] 1931002ms thread-0producer_plugin.cpp:585block_production_loo ] Produced block 0000366d5c1ec38d... #13933 @ 2018-05-23T16:32:11.000 signed by eosio [trxs: 0, lib: 13932, confirmed: 0] 1931501ms thread-0producer_plugin.cpp:585block_production_loo ] Produced block 0000366e45c1f235... #13934 @ 2018-05-23T16:32:11.500 signed by eosio [trxs: 0, lib: 13933, confirmed: 0] 1932001ms thread-0producer_plugin.cpp:585block_production_loo ] Produced block 0000366f98adb324... #13935 @ 2018-05-23T16:32:12.000 signed by eosio [trxs: 0, lib: 13934, confirmed: 0] 1932501ms thread-0producer_plugin.cpp:585block_production_loo ] Produced block 00003670a0f01daa... #13936 @ 2018-05-23T16:32:12.500 signed by eosio [trxs: 0, lib: 13935, confirmed: 0] 1933001ms thread-0producer_plugin.cpp:585block_production_loo ] Produced block 00003671e8b36e1e... #13937 @ 2018-05-23T16:32:13.000 signed by eosio [trxs: 0, lib: 13936, confirmed: 0] 1933501ms thread-0producer_plugin.cpp:585block_production_loo ] Produced block 0000367257fe1623... #13938 @ 2018-05-23T16:32:13.500 signed by eosio [trxs: 0, lib: 13937, confirmed: 0]
-
檢查錢包
docker exec -it eosio bash
通過上面的命令,我們就進入了 eosio 容器內部,在內部繼續執行下面的命令:cleos --wallet-url http://127.0.0.1:5555 wallet list
就可以看到下面的輸出:Wallets: []
現在輸入命令來退出當前容器:exit
-
檢查 Nodeos endpoints可以通過兩種方法來檢查 RPC。
第一種在瀏覽器中直接開啟
http://localhost:7777/v1/chain/get_info
網址。第二種在控制檯直接輸入下面的命令
curl http://localhost:7777/v1/chain/get_info
-
檢查節點生成區塊
-
第四步,可選地配置一個別名。作為使用者,你肯定不想每次都敲那麼多命令,那麼可以給它起個叫名,這樣以後直接輸入命令就可以啟動容器了。
alias cleos='docker exec -it eosio /opt/eosio/bin/cleos --url http://127.0.0.1:7777 --wallet-url http://127.0.0.1:5555'
-
第五步,一些常用的命令。
docker start eosio//啟動容器 docker stop eosio//停止容器 docker rm eosio//刪除容器 docker exec -it eosio bash//進入容器執行 Shell