NO IMAGE

      在開始學習每一種技術之前,最初的一項任務就是搭建各種開發環境,而區塊鏈的開發環境是比較麻煩的。這裡我們來完整的實現一下。以下操作均在mac下完成。

(1)安裝python2.7,mac在終端中直接使用以下命令:

brew install python(注意python是小寫)

(2)安裝solc(solidity語言編譯器),在終端中執行以下命令:

sudo npm install -g solc

同時需要安裝solc-cli:

sudo npm install -g solc-cli

使用以下命令可以一併安裝solc和solc-cli,推薦使用此命令安裝:

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

(3)安裝ethereum/cpp-ethereum(以太坊客戶端geth),按順序執行以下命令:

brew update

brew upgrade

brew tap ethereum/ethereum

brew install cpp-ethereum

brew linkapps cpp-ethereum

或者是直接執行以下命令:

brew tap ethereum/ethereum

brew install ethereum

(4)安裝testrpc(作為以太坊的本地測試環境,可以用來部署智慧合約,方便除錯開發)

pip install eth-testrpc

升級pip:

python -m pip install -upgrade pip 

安裝完以後可能會出現異常…scrypt/index.js,參考:http://blog.csdn.net/wo541075754/article/details/53155578 這篇部落格。

(5)安裝node.js,直接從官網下載安裝即可:

https://nodejs.org/en/

(6)安裝truffle(truffle可以在本地快速的編譯、部署智慧合約)

npm install -g truffle

(7)提示:大家有可能會安裝node的包管理工具nvm,nvm安裝後需要在環境變數中配置如下,需要在.bash_profile中加入:

export NVM_DIR=”~/.nvm”
[ -s “$NVM_DIR/nvm.sh” ] && . “$NVM_DIR/nvm.sh”  # This loads nvm 

(8)在安裝完geth和solc後,發現在geth控制檯中不能編譯solidity,以下是解決方案:

網上建議執行的命令如下:

brew update
brew upgrade
brew tap ethereum/ethereum
brew install solidity
brew linkapps solidity 

但是在執行完最後一個brew linkapps solidity後,終端中沒有任何的返回,其實表示最後一行命令是執行失敗的。

我們在執行完brew install solidity後終端會提示使用”brew link solidity”進行連結,而不是網上說的使用“brew linkapps solidity”. 

所以執行brew link solidity.   終端提示需要強制連結並重寫,然後再執行命令如下:

brew link –overwrite solidity

執行完以上步驟後,就可以在geth中就可以找到solc編譯器了:

eth.getCompilers()

或者

web3.eth.getCompilers()

就可以返回編譯器名稱了。

下面的可能也是解決方案,大家可以嘗試下:

通過which solc檢視solc的安裝路徑,然後在geth控制檯中輸入:

admin.setSolc(“solc的路徑”)

       執行完上面的步驟後,區塊鏈開發的環境基本就搭建起來了。但是在安裝過程中,還是會碰到很多的坑,比如說網路原因。筆者在執行以上的某幾個命令時,一直失敗,但是換了一個地方的網路後,安裝非常的順利。我在接下去的部落格中會和大家分享如何使用上述的這些軟體、以及區塊鏈應用的開發、智慧合約的編寫等技術。