開發第一個基於以太坊的dapp
在開發第一個dapp之前,需要做一些準備工作。
1、瞭解什麼是以太坊、智慧合約?
2、瞭解solidity語言,知道如何用solidity寫一個只能合約
3、對truffle腳手架有一定了解
4、對node.js有一定了解
一、安裝開發環境
truffle是一個幫助我們快速開發dapp的工具框架,它的安裝依賴於node.js。
1、直接在nodejs官網下載nodejs-v6.10.x編譯好的壓縮包(tar.gz),解壓到/usr/local中,修改profile檔案PATH="$HOME/bin:$HOME/.local/bin:/usr/local/node-v6.10.2-linux-x64/bin:$PATH"。並且通過source ~/.profile重新整理生效。通過node --version 和npm --version 檢驗是否生效。
2、執行命令 sudo npm install -g truffle,安裝truffle。
3、如果想用testrpc做測試環境,執行命令npm install -g ethereumjs-testrpc安裝測試環境。
二、構建第一個dapp
1、新建一個空資料夾 test,執行truffle unbox webpack初始化,如果不想有前端互動,可以直接執行truffle init,這個時候資料夾目錄下沒有app資料夾。(網上有 truffle unbox init執行初始化,但是truffle4.0以上,這個命令就被取代了)
2、其中contracts目錄存放的是智慧合約,migrations中存放的是node.js部署合約的基本命令,test中是合約的測試用例。
3、執行truffle compile後,會在build目錄下生成合約的json串,用於部署到鏈上。
4、編寫自己的第一個合約:
5、編寫自己的第一個合約的測試用例TestGreeter.sol
6、修改truffle.js,配置網路環境(因為測試用的是testrpc,網路埠是8454)
7、修改node.js部署配置 /migrations/greeter_deploy.js
8、啟動testrpc,執行truffle test
9、如果需要與前端互動,自行修改app目錄下的index.html 和增加對應的指令碼。然後在目錄下執行npm install,檢視node_modules是否有模組加入。一切OK就執行npm run dev,然後訪問localhost:8080,就可以看到前端的互動。