📜 [專欄新文章] 使用 ethdock 開發以太坊智能合約應用
✍️ Peter Lai
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
前言
相信不少人在開發以太坊智能合約的時候都跟我一樣
不想使用瀏覽器版本的編輯環境 Remix 作為開發環境
而是想使用本機的環境再加上自動測試腳本
那這時遇到最大的問題就是環境的架設
如何架設測試 VM 或是私有鏈(要依照熟悉的語言做選擇)
這邊我們介紹使用 docker 容器以及 ethdock 來開發以太坊智能合約應用
讓我們只需要一行指令就可以快速開啟必要的容器
ethdock 以 javascript 和 solidity 為主,如果不是使用這個為主要開發語言可以先左轉
ethdock
ethdock 的命名源自於 ethereum + docker
最初開發是因為平常在公司的電腦跟個人開發的電腦環境不同
這樣要建立兩邊的開發環境會花費不少時間
剛好平時有在使用 docker 所以就建立了 ethdock
讓我可以只要裝 docker 兩邊就有相同的開發環境
服務
ethdock 裡面主要有以下三個開發需要用到的服務
開發的時候需要 workspace 服務和測試鏈服務(testrpc 或是 geth)
workspace
建立開發的工作環境的容器,容器裝了 truffle 可以使用自動測試
testrpc
javascript 測試 VM,每筆交易可以快速回饋這樣減少很多開發時間
geth
建置測試的私有鏈,每筆交易要經過礦工的驗證並記錄,會多增加一些開發時間
開發智能合約
使用 ethdock 開發前要建置並運行容器
testrpc
docker-compose up -d workspace testrpc
進入 workspace 容器,並執行 bash
docker-compose exec workspace bash
調整 truffle.js,就可以使用命令列的方式進行測試以及部署
development: { host: ‘testrpc’, port: 8545, network_id: ‘*’}
truffle test
geth
docker-compose up -d workspace geth
進入 workspace 容器,並執行 bash
docker-compose exec workspace bash
調整 truffle.js 的網路位置,就可以使用命令列的方式進行測試以及部署
development: { from: ‘address’ host: ‘geth’, port: 8545, network_id: ‘*’}
truffle test
使用 geth 作為私有鏈時開發要注意設置 from
結論
ethdock 使用方式非常簡單
讓我們可以迅速在不同的電腦中建立起一樣的開發環境
就不用擔心建立開發環境的方法太複雜
或是不同電腦因為開發環境的關係而影響程式的運作
參考
docker docs
ethdock github
使用 ethdock 開發以太坊智能合約應用 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「docker-compose exec」的推薦目錄:
- 關於docker-compose exec 在 Taipei Ethereum Meetup Facebook 的精選貼文
- 關於docker-compose exec 在 コバにゃんチャンネル Youtube 的最讚貼文
- 關於docker-compose exec 在 大象中醫 Youtube 的最讚貼文
- 關於docker-compose exec 在 大象中醫 Youtube 的最佳解答
- 關於docker-compose exec 在 docker-compose: difference run, exec and what happens to ... 的評價
- 關於docker-compose exec 在 `docker compose exec -T` outputs garbage (SOH and NUL ... 的評價
- 關於docker-compose exec 在 SSH into a container - DevTools CLI Documentation 的評價
- 關於docker-compose exec 在 docker-compose exec - Breword 文档集合 的評價
- 關於docker-compose exec 在 JetBrains - RubyMine 2019.1 uses docker-compose exec to... 的評價
- 關於docker-compose exec 在 docker compose exec panic when running without -T option 的評價
- 關於docker-compose exec 在 Exploring exec command | #Docker - YouTube 的評價
docker-compose exec 在 コバにゃんチャンネル Youtube 的最讚貼文
docker-compose exec 在 大象中醫 Youtube 的最讚貼文
docker-compose exec 在 大象中醫 Youtube 的最佳解答
docker-compose exec 在 `docker compose exec -T` outputs garbage (SOH and NUL ... 的推薦與評價
Description of the issue The docker-compose exec and docker compose exec style invocations generate slightly different output, ... ... <看更多>
docker-compose exec 在 SSH into a container - DevTools CLI Documentation 的推薦與評價
There is a docker exec command that can be used to connect to a container that ... to get a shell into your web container you might run docker-compose run ... ... <看更多>
docker-compose exec 在 docker-compose: difference run, exec and what happens to ... 的推薦與評價
... <看更多>
相關內容