一、安裝curl、gitnode
apt-get updatelinux
apt-get install gitgit
apt-get install curlgolang
二、安裝gonpm
curl -O https://storage.googleapis.com/golang/go1.5.1.linux-amd64.tar.gzubuntu
Unpack it to the /usr/local (might require sudo)api
tar -C /usr/local -xzf go1.5.1.linux-amd64.tar.gzbash
三、配置go的環境變量cors
mkdir -p ~/go; echo "export GOPATH=$HOME/go" >> ~/.bashrcdom
echo "export PATH=$PATH:$HOME/go/bin:/usr/local/go/bin" >> ~/.bashrc
source ~/.bashrc
驗證go :
go version
四、nodejs、npm
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
apt-get install nodejs
驗證是否安裝成功
node -v
npm -v
五、安裝以太坊環境
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo add-apt-repository -y ppa:ethereum/ethereum-dev
sudo apt-get update
sudo apt-get install ethereum
六、安裝solc(solidity編譯環境)
sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc
七、建立三個帳戶
連續輸入三次命令:geth account new
獲得三個公鑰地址
八、編輯創世塊文件
將三個地址放入"alloc"中,
{
"nonce": "0x0000000000000042",
"difficulty": "0x1",
"alloc": {
"0d2e08a2615d5c46734058f34b307db0eda5ba6e": {
"balance": "20000009800000000000000000000"
},
"1f9035c1ed2802fe7f96e8a28890d8816af14c9c": {
"balance": "20000009800000000000000000000"
},
"59b0a1db6b4de1d303d440da1d02fafd3f4f41af": {
"balance": "20000009800000000000000000000"
}
},
"config": { "chainId": 15, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 },
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000", "coinbase": "0x0000000000000000000000000000000000000000",
"timestamp": "0x00",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa",
"gasLimit": "0xb2d05e00"
}
注意:劃線部分若是不添加,會出現如下錯誤:
九、配置自動解鎖帳號的腳本
在./ethereum下建立password文件,在裏面輸入密碼,每一個帳號一行密碼如:
123456
123456
123456
十、配置以太坊啓動腳本private_blockchain.sh(名字自取)
geth --rpc --rpcaddr="0.0.0.0" --rpccorsdomain="*" --unlock '0,1,2' --password ~/.ethereum/password --nodiscover --maxpeers '5' --networkid '1234574' --datadir '~/.ethereum' console
每次啓動geth節點時,只須要輸入一下命令
bash private_blockchain.sh
十一、啓動後,輸入eth.getCompilers(),可能會出現一下狀況
這是由於,安裝以太坊環境時自動下載了geth客戶端是1.6以上版本的,可是1.6版本客戶端中沒有getCompilers()函數,後續可能會開發別的方法來實現這個功能。
個人解決辦法是下載geth1.5.9版本,覆蓋掉原來的geth。
以後,輸入eth.getCompilers(),會出現,
這是由於沒有指定編譯器,另開一個終端,輸入which solc
以後,在geth終端中輸入:
會出現這個是由於我用的ubuntu虛擬機,提示我虛擬機的內存不足,當我把虛擬機內存增長到2G後,這個問題就解決了。
再次輸入:
大功告成!