1. 程式人生 > >開發第一個基於以太坊的dapp

開發第一個基於以太坊的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,就可以看到前端的互動。