第一課 如何在Windows上搭建以太坊開發環境


安裝git,NodeJS,solc,testrpc,truffle,Geth客戶端

(1)安裝git,NodeJS

【目的】Git可用於從GitHub獲取源代碼;NodeJS以太坊開發框架Truffle需要。

輸入以下命令安裝git:

sudo apt-get install git

【注意】如果在安裝git時出現E:Package ‘git’ has no installation candidate錯誤提示,只需使用以下命令代替即可:sudo apt-getinstall git-core

因為以太坊開發需要使用開發框架,但是,目前最好用且使用人數最多的是第三方開發框架Truffle。而Truffle建議系統所用NodeJS版本為5.0以上,因此,我們就需要安裝NodeJS的最新版本。

有多種方法安裝NodeJS:

方法一:使用apt,輸入以下命令安裝NodeJS 6.0以上版本(成功):

sudo apt-get install curl

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash

sudo apt-get install -y nodejs

方法二:從Node官網下載源碼並解壓,然后自行編譯安裝(以安裝Node V6.9.2為例):

tar -zxvf node-v6.9.2.tar.gzcd node-v6.9.2

sudo ./configuresudo make

sudo make install

方法二因為要重新編譯,因此耗費的時間可能多一點。

(2)安裝solc

【目的】編譯以太坊智能合約使用。

輸入以下命令安裝solc:

sudo npm install -g solc

安裝完后,我們就會發現在終端中輸入solc命令返回一個出錯信息。這是因為solc只是一個程序集,如果我們想要在終端中使用solc程序編譯智能合約,則需要安裝solc-cli,這是solc的命令行界面。

sudo npm install -g solc-cli

輸入以下命令可以一並安裝solc和solc-cli(推薦使用此命令安裝):

sudo npm install -g solc solc-cli --save-dev

如果輸入solcjs --help命令,有以下輸出,則表明solc和solc-cli安裝成功:

image

到了這里,如果想以后的智能合約編譯工作不使用geth控制台來完成,那么solc編譯器就算安裝完了。但是,如果我們需要在geth控制台使用solc編譯器,那么我們仍然需要安裝solc二進制包。輸入以下命令安裝solc二進制包:

sudo add-apt-repository ppa:ethereum/ethereum

sudo apt-get update

sudo apt-get install solc

如果在輸入第一條命令的時候出現了錯誤,可以嘗試重新啟動系統來解決。

【注意】

如果你安裝了webthree-umbrella,那么solc就會默認安裝,但是我們在終端輸入solc並沒有顯示可用的命令,我們需要輸入以下命令手動建立軟鏈接:

sudoln-s/home/zcc/webthree-umbrella/solidity/build/solc/solc /bin/solc

這樣就能直接在終端使用solc程序了。

【可選操作】

配置npm源為國內源(可選,可加快下載速度),命令行輸入:

sudo npm config set registry http://registry.npm.taobao.org

不想用他們的,再設置回原來的就可以了:

sudo npm config set registry https://registry.npmjs.org

(3)安裝testrpc

輸入以下命令安裝testrpc:

sudo npm install -g ethereumjs-testrpc

如果輸入testrpc命令,有以下輸出,則表明testrpc安裝成功:

image

【注意】

(1)參考網頁中的命令沒有sudo,但是因為-g參數是表示全局安裝,則需要使用root權限才能安裝成功。

(2)安裝過程可能會出錯,可以多試幾次安裝命令。

(4)安裝truffle

【目的】Truffle 是世界一流的開發環境,為以太坊的測試框架和資產管道,致力於使以太坊開發者的生活更容易。

輸入以下命令:

sudo npm install -g truffle

如果輸入truffle version命令,有以下輸出,則表明truffle安裝成功:

image

(5)安裝Geth客戶端

【目的】Geth是Go Ethereum開源項目的簡稱,它是使用Go語言編寫且實現了Ethereum協議的客戶端軟件,也是目前用戶最多,使用最廣泛的客戶端。通過Geth客戶端與以太坊網絡進行連接和交互可以實現賬戶管理、合約部署、挖礦等眾多有趣且實用的功能。Geth支持Windows、Mac及Linux等主流操作系統。

有多種以太坊客戶端,安裝go-ethereum輸入以下命令:

sudo apt-get install software-properties-common

sudo add-apt-repository -y ppa:ethereum/ethereum

sudo apt-get update

sudo apt-get install ethereum

如果能運行GETH命令則表示按照成功了。

image

(6)安裝 Ganache 【可選】

【定義】Ganache是為以太坊開發准備的個人區塊鏈錢包,你可以用它執行智能合約,研發應用和執行測試用例。Ganache的前身是testrpc,跟testrpc的作用一樣。

Ganache現在有兩個版本,一個是帶圖形界面的版本,下載地址:

https://github.com/trufflesuite/ganache/releases

這些可執行文件的后綴都比較奇葩,參見下面的對應關系:

●  Windows: Ganache-*.appx

●  Mac: Ganache-*.dmg

●  Linux: Ganache-*.AppImage

(1)在Ubuntu上安裝采用命令行方式

命令如下:

sudo npm install -g ganache-cli

具體的命令行參數配置參見github:

https://github.com/trufflesuite/ganache-cli

安裝界面截圖:

image

運行命令:

ganache-cli

調用命令可顯示10個虛擬賬號和私鑰:

image

Ganache-cli的命令參數幫助文檔:

https://github.com/trufflesuite/ganache-cli/blob/master/README.md

(2)在WINDOWS上安裝Ganache

https://github.com/trufflesuite/ganache/releases目錄下下載最新的WINDOWS版本安裝文件

ganache-setup-1.1.0.exe

image

(3) 在Ubuntu上安裝Ganache圖形化界面程序

下載.AppImage的程序,

wget https://github.com/trufflesuite/ganache/releases/download/v1.1.0/ganache-1.1.0-x86_64.AppImage//下載ganache

chmod +x ganache-1.1.0-x86_64.AppImage//修改權限為可執行文件

sudo ./ganache-1.1.0-x86_64.AppImage //啟動ganache

【結果】在作者的Ubuntu安裝Gnaache圖形程序沒有成功,只能使用Ganache-clli版本了,可能是作者的Ubuntu是32位的,而程序是64位的原因?但是同樣的操作在歐陽哥哥的環境是成功的,運行的界面同WINDOWS的界面程序。故障待探索。

image

【注意】這個操作要在Ubuntu的本機命令行界面進行操作,不可在Xshell的遠程命令操作,否則不發觸發圖形界面。

【問題】如何啟動遠程Ganache服務器呢?

把HOSTNAME的IP地址更換為遠程服務器地址,例如192.168.80.144,點擊RESTART按鈕。

image

image

(7)安裝 MetaMask 【可選】

【定義】MetaMask 是一款插件形式的以太坊輕客戶端,開發過程中使用MetaMask和我們的dapp進行交互是個很好的選擇。

假設你運行的是CHROME瀏覽器,則官網下載擴展程序的鏈接地址(需要VPNFQ):

https://chrome.google.com/webstore/detail/nkbihfbeogaeaoehlefnkodbefgpgknn

或者從百度雲盤獲取:

鏈接:https://pan.baidu.com/s/1N0oH5AzbLqU0B3YIwNSvjQ 密碼:77sl

在CHROME瀏覽器地址輸入:chrome://extensions/

image

【MetaMask官網】https://metamask.io/#how-it-works

(8)安裝 lite-server 【可選】

【定義】lite-server 是輕量級的,僅適用於開發 的 node 服務器, 它僅支持 web app。 它能夠為你打開瀏覽器, 當你的html或是JavaScript文件變化時,它會識別到並自動幫你刷新瀏覽器, 還能使用套接字自動注入變化的CSS, 當路由沒有被找到時,它將自動后退頁面。

安裝與使用

以下是被推薦的安裝lite-server的方式:

$ npm install lite-server --save-dev

image

在你的項目中的 package.json 文件中添加一個 “script” 入口:

Inside package.json… “scripts”: {

“dev”: “lite-server”  },

有了上面的script 入口, 你就可以通過以下命令來啟動 lite-server 了:

$ npm run dev

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM