EOS開發教程 Docker構建EOS環境

2021-09-13 10:48:25 字數 2833 閱讀 9832

由於eos的版本在不斷的更新迭代,本地編譯最新版本的方式更新比較繁瑣,而且容易出問題。

因此,我們推薦使用docker容器的方式配置eos本地測試環境,這樣方便維護公升級,而且簡單。 此外,eos的docker image會每天定時更新並被推送到dockerhub,可以直接去拉取官方的最新版本image使用。

下面的步驟會以mac系統為例,由於我們使用docker環境,理論上不依賴具體的作業系統環境,只要使用的系統能夠安裝docker即可。

系統配置要求:

硬碟儲存空間 > 8gb

記憶體 > 4gb

安裝docker和docker-compose

不熟悉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/builder :

包含編譯eos的所有依賴庫,是eos編譯的乙個完整環境,這樣開發者就無需安裝各種工具和依賴庫,準備eos的編譯環境了。

eosio/eos : 主網節點使用,比較輕量級,映象中不包含編譯智慧型合約的依賴庫。

eosio/eos-dev : 適用於開發者的定製環境,其中包含編譯智慧型合約需要的相關工具和依賴庫。

其中eosio/eos 和 eosio/eos-dev 都是繼承了 eosio/builder 然後編譯出來的定製化映象。 由於我們是開發者,因此我們選用eosio/eos-dev 這個image。 當然,如果大家只是想啟動乙個節點,加入主網中,可以直接使用eosio/eos,這個我們在後面會詳細介紹。

根據前面的介紹,這裡大家可以直接從官方拉取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...