由於eos的版本在不斷的更新迭代,本地編譯最新版本的方式更新比較繁瑣,而且容易出問題。
因此,我們推薦使用docker容器的方式配置eos本地測試環境,這樣方便維護公升級,而且簡單。 此外,eos的docker image會每天定時更新並被推送到dockerhub,可以直接去拉取官方的最新版本image使用。
下面的步驟會以mac系統為例,由於我們使用docker環境,理論上不依賴具體的作業系統環境,只要使用的系統能夠安裝docker即可。
系統配置要求:
硬碟儲存空間 > 8gb安裝docker和docker-compose記憶體 > 4gb
![](https://pic.w3help.cc/e51/1c12ccd561598282f417d6e525645.jpeg)
不熟悉docker的同學,可以去查一下docker的簡單命令介紹,這裡我們給出centos下面常用的命令:
其他參考資料:docker 命令
如果使用的是mac系統版本的docker,docker-compose會跟隨docker一起被安裝。 如果使用的是centos等其他linux系統,需要單獨安裝docker-compose,參考安裝:
sudo curl -l -s)-$(uname -m)-o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-composedocker-compose --version
$docker-compose -vdocker-compose version 1.21.2, build a133471獲得eos的docker image
eos的docker image 有多種版本,適應於不同的應用場景:其中eosio/eos 和 eosio/eos-dev 都是繼承了 eosio/builder 然後編譯出來的定製化映象。 由於我們是開發者,因此我們選用eosio/eos-dev 這個image。 當然,如果大家只是想啟動乙個節點,加入主網中,可以直接使用eosio/eos,這個我們在後面會詳細介紹。eosio/builder :
包含編譯eos的所有依賴庫,是eos編譯的乙個完整環境,這樣開發者就無需安裝各種工具和依賴庫,準備eos的編譯環境了。
eosio/eos : 主網節點使用,比較輕量級,映象中不包含編譯智慧型合約的依賴庫。
eosio/eos-dev : 適用於開發者的定製環境,其中包含編譯智慧型合約需要的相關工具和依賴庫。
根據前面的介紹,這裡大家可以直接從官方拉取image:
docker pull eosio/eos-dev:v1.0.8
docker tag eosio/eos-dev:v1.0.8 eosio/eos-dev:latest
此外,也可以自己獲取eos最新**之後,在本地使用dockerfile build出eos-dev image, 進入eos/docker/dev目錄,執行:
docker build.-t eosio/eos-dev:latest
注意
如果不對eos/docker/dev/dockerfile 做修改的情況下,使用的事master分支的**構建的image
啟動本地節點的測試環境
建立volume,供nodeos和keosd掛載使用:
docker volume create --name=local-nodeos-data-volume
docker volume create --name=local-keosd-data-volume
在blockchain/eos/04/docker目錄下,啟動nodeos和keosd:
docker-compose -f docker-compose-local-eosio1.0.yaml up -d
可以檢視log日誌:
docker logs -f docker_nodeosd_1
得到如下類似日誌:
給cleos命令配置alias
由於我們不希望每次執行cleos命令都進入docker container中執行,因此我們配置了簡短的cleos的alias來代替docker命令:
aliascleos='docker-compose -f docker-compose-local-eosio1.0.yaml exec keosd /opt/eosio/bin/cleos -u http://nodeosd:8888 --wallet-url http://localhost:8900'
(可以將此alias的定義新增到~/.bash_profile 中,這樣每次終端啟動時候都會自動定義alias) 測試cleos命令是否可用:
cleos get info
注意
以後cleos命令的執行必須在docker-compose-local-eosio1.0.yaml檔案所在目錄才可以。
此時也可以通過http的請求,直接訪問查詢:
curl http://localhost:8888/v1/chain/get_info
密碼:d55 Docker構建開發環境
以往在新的機器上構建開發環境時,往往需要安裝比較多的工具軟體,這個過程比較耗時。有人會說,那可以把這些命令固化在shell指令碼中。當然這也是乙個可行的方法。隨著docker的發展,容器與容器雲大行其道。本著熟悉docker的想法,加之docker具有簡化配置 快速部署的特點,這裡嘗試使用docke...
構建docker映象基本教程
構建notebook映象的基本要求,是在映象的python環境中安裝jupyter和notebook 的工具包。下面我以tensorflow tensorflow 1.12.0 gpu py3官方的基礎映象為例,構建使用者自定義notebook映象。檔案內容如下 執行命令構建映象 docker bu...
EOS開發基礎
三 cleos 1.1 拉取 git clone recursive 1.2 自動build cd eos eosio build.sh ubuntu 1.3 安裝可執行檔案 cd build sudo make install 1.4 驗證 opt mongodb bin mongod f opt...