以太坊Truffle框架搭建

一.系統環境

  • Ubuntu 16.04 操作系統

二. 安裝命令

安裝nodejs

  • 更新ubuntu軟件源
sudo apt-get update
sudo apt-get install -y python-software-properties software-properties-common
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
  • 安裝nodejs
sudo apt-get install nodejs
sudo apt install nodejs-legacy
sudo apt install npm
  • 更新npm的包鏡像源,方便快速下載
sudo npm config set registry https://registry.npm.taobao.org
sudo npm config list
  • 全局安裝n管理器(用於管理nodejs版本)
sudo npm install n -g
  • 安裝最新的nodejs(stable版本)
sudo n stable
sudo node -v

安裝npm 工具

打開Terminal,輸入$ sudo apt-get install npm

安裝Truffle

Truffle是針對基於以太坊的Solidity語言的一套開發框架。本身基於Javascript。
官方文檔:http://truffleframework.com/docs/
輸入sudo npm -g install truffle , 安裝Truffle。

安裝Ethereum TestRPC

輸入sudo npm install -g ethereumjs-testrpc
在這裏插入圖片描述
測試結果
輸入testrpc,得到如下結果
在這裏插入圖片描述

三.選擇以太坊客戶端

我們需要安裝Ethereum客戶端來支持JSON RPC API的調用。

  • Ethereum客戶端的選擇有很多,我大概列一下本地開發可以使用:Ganache、Ethereumjs-testrpc、以及truffle自帶的Truffle Develop,只需要用其中一種就好了。
  • Ganache的安裝,可以在 http://truffleframework.com/ganache/ 直接下載安裝。

四 .創建一個項目

新建開發目錄dapp. 打開一個新的命令窗口。進入到dapp目錄。

初始化項目

執行truffle unbox webpack ,
執行以上命令之後,dapp文件夾內會自動生成開發所需要的目錄結構:

  • contracts/:Solidity職能合約目錄
  • migrations/:部署用到的腳本
  • test/:用於測試應用程序和合約的測試文件目錄
  • truffle.js:配置文件
  • app:前端代碼目錄
    目錄裏默認生成一個MetaCoin的demo,可以研究下 的代碼,瞭解網頁與合約的交互實現。

編譯合約

truffle框架裏已經給我們提供了demo代碼,我們暫時不用寫新的合約,我們直接用demo進行編譯和部署。
運行truffle compile,出現如下錯誤。
在這裏插入圖片描述
解決方法:
安裝sudo npm install babel-core
再次運行truffle compile命令。
在這裏插入圖片描述
編譯成功的話,你會在dapp的項目文件夾裏發現多個一個build的文件夾。

部署合約

部署合約之前,請開啓之前下載的以太坊客戶端:

Ganache:請打開下載的軟件

Ethereumjs-testrpc:在終端執行testrpc命令,以出現測試賬號爲成功,不要關閉,打開新的終端窗口進行下一步。

Truffle Develop:在終端執行 truffle develop 命令,以出現測試賬號爲成功,可直接在此窗口進行下一步。

開啓客戶端之後再輸入命令:

$ truffle migrate

執行成功,會出現以下界面:

五. 測試網頁與合約交互

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章