【區塊鏈】go ethereum 安裝與使用
阿新 • • 發佈:2018-12-31
go ethereum 安裝與使用 - mac
1. 安裝
· home-brew 安裝: here
· go ethereum 客戶端安裝:here
· solc 安裝
sudo npm install -g solc solc-cli --save-dev
2. 使用
檢視當前賬戶列表
geth account list
開啟終端,執行以下命令,以開發方式啟動geth
geth --datadir “~/ethdev” --dev
指定 –dev 為開發環境
geth 啟動成功後,重新開啟一個終端,執行以下命令,開啟geth控制檯
geth --dev console 2>>file_to_log_output
該命令會開啟geth控制檯,同時在目錄下生成一個叫做file_to_log_output的日誌檔案,等下我們會來檢視這個日誌檔案。
檢視當前有哪些賬戶
eth.accounts
顯示結果為:[]····
可以發現,初始是沒有賬戶的
建立一個新賬戶
personal.newAccount(‘密碼')
顯示結果為:"0x7bf0acbe8478f41a8ada15a1c814d0db5387b94a"
然後我們檢視 eth.accounts
顯示結果為:["0x7bf0acbe8478f41a8ada15a1c814d0db5387b94a"]
可以發現是成功建立了賬戶
然後我們繼續建立第二個賬戶
可以把賬戶賦值給某一個變數,同時查詢賬戶中的餘額
user1 = eth.accounts[0]
user2 = eth.accounts[1]
eth.getBalance(user1)
eth.getBalance(user2)
顯示結果:兩個賬戶的餘額都為0
上面提到過日誌檔案,我們再重開一個終端,我們使用以下命令開啟日誌:
tail -f file_to_log_output
我們把這個終端介面放在一邊,等下在geth控制檯中有任何操作時,都可以來這邊看看日誌。
檢視區塊號:
eth.blockNumber
顯示結果:0
在geth控制檯中啟動挖礦:
miner.start()
檢視日誌,可以看到已經在挖礦了
然後我們檢視第一個賬戶的餘額:eth.getBalance(user1)
顯示結果:130000000000000000000
檢視第二個賬戶的餘額:eth.getBalance(user2)
顯示結果:0
===>由此可見,挖礦的金額時預設傳入第一個賬戶的
檢視區塊號:eth.blockNumber
顯示結果:59
停止挖礦:
miner.stop()
轉賬
eth.sendTransaction({from: user1,to: user2,value: web3.toWei(3,"ether")})
顯示結果:Error: authentication needed: password or unlock
at web3.js:3104:20
at web3.js:6191:15
at web3.js:5004:36
at <anonymous>:1:1
===> 所以我們需要解鎖第一個賬戶
輸入:personal.unlockAccount("第一個賬戶地址", "密碼")
顯示結果:true
然後我們再進行轉賬就能成功
顯示結果:"0x30751bbb05bb3ac5bf5316d172b484476e2d0d2e6243bc5fe7cb30d6bc0cc552"
為本次交易的地址
然後我們檢視user2的賬戶餘額:eth.getBalance(user2)
顯示結果:0
這是因為沒有礦工來挖礦處理。根據區塊鏈的概念,我們知道,每次交易的確認,其實都是需要挖礦的,也就是被其他礦工共識確認,然後才能加入區塊鏈的賬本中。
然後我們啟動挖礦:miner.start()
再檢視user2的餘額:3000000000000000000