假設你使用的ubuntu, 那麼用如下方式安裝go ethereum:php
sudo apt-get install software-properties-common sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt-get update sudo apt-get install ethereum
{ "config": { "chainId": 33, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 }, "nonce": "0x0000000000000033", "timestamp": "0x0", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "gasLimit": "0x8000000", "difficulty": "0x100", "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000", "coinbase": "0x3333333333333333333333333333333333333333", "alloc": {} }
建立創世區塊git
mkdir mycoin geth --datadir mycoin init genesis.json
鏈接私有網github
geth --datadir mycoin --networkid 20 --rpc --rpcaddr 0.0.0.0 --rpccorsdomain "*" --rpcapi db,net,web3,admin,debug,miner,eth,personal console
進入到控制檯以後, 建立一個新用戶, 密碼設置爲"password"web
personal.newAccount('password')
啓動挖礦, 第一次挖礦準備時間比較長,時間長短取決於機器的性能shell
miner.start()
當你看到以下圖信息時, 恭喜你,挖礦成功:json
挖了一會,就可使用如下命令中止了ubuntu
miner.stop()
查看用戶餘額api
eth.getBalance(eth.coinbase)
本課程並不探討關於智能合約開發的話題. 智能合約可使用開源的,地址以下:網絡
須要整理一下, 導入到 remix ide
.
導入成功後,進行編譯。若是有黃色背景的警告,能夠忽略。若是有紅色背景的錯誤,能夠更改智能合約版本從新編譯,步驟爲: "Settings->Solidity version", 在下拉列表選擇另外一個版本,IDE就會自動從新編譯。
編譯成功後,根據如下圖片所示步驟進行操做:
先選擇"StandardToken"(這裏是否是StandardToken取決於你的合約代碼), 再點擊Details. 複製WEB3DEPLOY
複製後,粘貼到文本編輯器,對一些變量進行賦值
var name = "China Test Coin"; /* 代幣全稱 */ var symbol = "CTC"; /* 代幣簡稱 */ var decimals = 18; /* 默認精度 */ var totalSupply = 100000000; /* 發行代幣總額 */ var _owner = "0x...."; /* 代幣擁有者地址, 若是你使用上面開源的合約地址,沒有此項請忽略 */ ...
編輯完成後,保存代碼。
轉到geth的控制檯上,
解鎖用戶, 這一步是必須的
personal.unlockAccount(eth.coinbase)
佈署合約
把上面保存的代碼複製粘貼到控制檯上,回車,若是成功則會顯示合約地址, 這裏的合約地址必定要保存起來, 後面會用到. 若是失敗,通常調整gas大小,再發布就能夠了.
合約佈署後,交易尚未寫到區塊上,啓動挖礦,建立區塊
miner.start()
當你看到transaction=
之類的信息, 表示交易已經寫到區塊上.
至此,私有鏈的搭建和智能合約的佈署就完成了. 下一步咱們將使用php與ethereum客戶端進行交互. 並學習如何調用合約中的方法.