天天看點

區塊鍊:以太坊:go-ethereum 1.8.19 安裝、測試鍊

010.go-ethereum安裝

下載下傳頁面:https://ethereum.github.io/go-ethereum/downloads/

下載下傳位址:目前最高版本為v1.8.19

tar zxvf geth-linux-amd64-1.8.19-dae82f09.tar.gz -C /usr/local/
ln -s /usr/local/geth-linux-amd64-1.8.19-dae82f09/geth /usr/bin/geth
           

輸入指令:geth version,得到以下資訊,證明安裝成功:

[[email protected] ~]# geth version
WARN [12-08|15:14:05.785] Sanitizing cache to Go's GC limits       provided=1024 updated=324
Geth
Version: 1.8.19-stable
Git Commit: dae82f098570e15d44584f0d7f350713f4774727
Architecture: amd64
Protocol Versions: [63 62]
Network Id: 1
Go Version: go1.11.2
Operating System: linux
GOPATH=
GOROOT=/home/travis/.gimme/versions/go1.11.2.linux.amd64
[[email protected] ~]# 
           

020.搭建測試鍊

021.建立工作目錄(随便起名)

mkdir -p /usr/local/deploy/geth_demo
cd /usr/local/deploy/geth_demo/
           

022.啟動進入控制台

[[email protected] geth_demo]# geth --rpc --rpcaddr="0.0.0.0" --rpccorsdomain="*" --nodiscover --networkid '7758521' --datadir './chain' --dev --dev.period 1 console 2>>nohup.log
Welcome to the Geth JavaScript console!

instance: Geth/v1.8.19-stable-dae82f09/linux-amd64/go1.11.2
coinbase: 0x6b3b84d7a608dfdaff23e769e0c9bced682dff8e
at block: 1 (Sat, 08 Dec 2018 15:10:09 CST)
 datadir: /usr/local/deploy/geth_demo/chain
 modules: admin:1.0 clique:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 shh:1.0 txpool:1.0 web3:1.0

>
           

參數說明:

--rpc :rpc方式啟動
--rpcaddr="0.0.0.0"   :設定rpc請求位址
--rpccorsdomain="*"   : 跨域
--nodiscover          :私有鍊位址,不會被網上看到
--networkid '7758521' :網絡id在連接配接到其他節點的時候會用到,以太坊公網的網絡id是1,為了不與公有鍊網絡沖突,運作私有鍊節點的時候要指定自己的網絡id
--datadir './chain'   : 資料檔案夾,預設位址:
--dev                 :使用POA共識網絡,預設預配置設定一個開發者賬戶并且會自動開啟挖礦。
--dev.period value    :開發者模式下挖礦周期 (0 = 僅在交易時) (預設: 0)
console               :啟動互動式JavaScript環境
2>>nohup.log          :console的輸出,列印到nohub.log中
           

023.檢視日志

另起一個shell,進入相同目錄,檢視nohup.log

tail -f nohup.log
           

出現類似的資訊,表名曠工正在挖礦;

INFO [12-07|10:27:53.002] ? block reached canonical chain          number=687 hash=3904bd…ad495c
INFO [12-07|10:27:53.002] ? mined potential block                  number=694 hash=4dd09f…0edeaa
INFO [12-07|10:27:53.003] Commit new mining work                   number=695 sealhash=4d52be…7673de uncles=0 txs=0 gas=0 fees=0 elapsed=1.211ms
INFO [12-07|10:27:54.001] Successfully sealed new block            number=695 sealhash=4d52be…7673de hash=12e664…54c5bc elapsed=998.215ms
INFO [12-07|10:27:54.001] ? block reached canonical chain          number=688 hash=895562…2e476b
INFO [12-07|10:27:54.002] ? mined potential block                  number=695 hash=12e664…54c5bc
INFO [12-07|10:27:54.003] Commit new mining work                   number=696 sealhash=61ca0e…257155 uncles=0 txs=0 gas=0 fees=0 elapsed=1.125ms
INFO [12-07|10:27:55.001] Successfully sealed new block            number=696 sealhash=61ca0e…257155 hash=661cd0…6babcf elapsed=998.141ms
INFO [12-07|10:27:55.001] ? block reached canonical chain          number=689 hash=961581…b63c54
INFO [12-07|10:27:55.001] ? mined potential block                  number=696 hash=661cd0…6babcf
INFO [12-07|10:27:55.002] Commit new mining work                   number=697 sealhash=dd486a…2f2b06 uncles=0 txs=0 gas=0 fees=0 elapsed=1.072ms
INFO [12-07|10:27:56.001] Successfully sealed new block            number=697 sealhash=dd486a…2f2b06 hash=cf0cd3…56e68b elapsed=998.915ms
INFO [12-07|10:27:56.001] ? block reached canonical chain          number=690 hash=16b12e…b0d2d8
INFO [12-07|10:27:56.002] ? mined potential block                  number=697 hash=cf0cd3…56e68b
INFO [12-07|10:27:56.003] Commit new mining work                   number=698 sealhash=d0906a…e64c88 uncles=0 txs=0 gas=0 fees=0 elapsed=1.174ms
INFO [12-07|10:27:57.001] Successfully sealed new block            number=698 sealhash=d0906a…e64c88 hash=dba025…3f210a elapsed=998.677ms
INFO [12-07|10:27:57.002] ? block reached ca
           

024.賬号管理

測試環境,預設會給建立一個賬号,并配置設定一定餘額。

檢視所有賬号:

> eth.accounts
["0x7a007c2c2662abecad3f7479df7a395e0840fddf"]
> 
           

0x7a007c2c2662abecad3f7479df7a395e0840fddf為該賬号位址。

添加賬号(這裡新添加了2個,添加後一共是3個):

> personal.newAccount('123456')
"0x77bda524268cbab982f16c84f8ccc4ed342d31a5"
> personal.newAccount('123456')
"0xdfdb6e33886e295f29967bb5d66bd9a0064af547"
> eth.accounts
["0x7a007c2c2662abecad3f7479df7a395e0840fddf", "0x77bda524268cbab982f16c84f8ccc4ed342d31a5", "0xdfdb6e33886e295f29967bb5d66bd9a0064af547"]
> 
           

這裡的123456是對應賬号的密碼。為賬戶起個别名:

> u0=eth.accounts[0]
"0x7a007c2c2662abecad3f7479df7a395e0840fddf"
> u1=eth.accounts[1]
"0x77bda524268cbab982f16c84f8ccc4ed342d31a5"
> u2=eth.accounts[2]
"0xdfdb6e33886e295f29967bb5d66bd9a0064af547"
> 
> u0
"0x7a007c2c2662abecad3f7479df7a395e0840fddf"
> u1
"0x77bda524268cbab982f16c84f8ccc4ed342d31a5"
> u2
"0xdfdb6e33886e295f29967bb5d66bd9a0064af547"
> 
           

025.錢包管理

檢視賬戶的餘額:(以下指令作用、效果一樣):

> eth.getBalance(eth.accounts[0])
1.15792089237316195423570985008687907853269984665640564039457584007913129639927e+77
> 
> eth.getBalance('0x6b3b84d7a608dfdaff23e769e0c9bced682dff8e')
1.15792089237316195423570985008687907853269984665640564039457584007913129639927e+77
> 
> eth.getBalance(u0)
1.15792089237316195423570985008687907853269984665640564039457584007913129639927e+77
> 
           

檢視所有賬戶的資産:

> eth.getBalance(u0)
1.15792089237316195423570985008687907853269984665640564039457584007913129639927e+77
> 
> eth.getBalance(u1)
0
> 
> eth.getBalance(u2)
0
> 
           

026.轉賬

u0使用者給u1賬戶轉賬,10000 wei

> eth.sendTransaction({from: u0, to: u1, value: 10000})
"0x02d0fe9fbaa982ea2382f339cc6a925a0427778a38521f9e2220e1432966bfd6"
> 
           

檢視所有賬戶的資産:

> eth.getBalance(u0)
1.15792089237316195423570985008687907853269984665640564039457584007913129629927e+77
> 
> eth.getBalance(u1)
10000
> 
> eth.getBalance(u2)
0
> 
           

檢視交易資訊:

> eth.getTransaction('0x02d0fe9fbaa982ea2382f339cc6a925a0427778a38521f9e2220e1432966bfd6')
{
  blockHash: "0x3a1612fb9a1a74d1b3b99f3436982db9f8a6e2d355f906264ce18ce181c4cce4",
  blockNumber: 15934,
  from: "0x6b3b84d7a608dfdaff23e769e0c9bced682dff8e",
  gas: 90000,
  gasPrice: 1,
  hash: "0x02d0fe9fbaa982ea2382f339cc6a925a0427778a38521f9e2220e1432966bfd6",
  input: "0x",
  nonce: 0,
  r: "0x7c6da9f718db2ef17de47c723eda1666e03bedb1e423dd3ff78c60a323631474",
  s: "0x7701fe59f556775f778cd77225bc57986f694add5ee145d72ea73668449455cf",
  to: "0xf3e7792736fb4f1706c0acaa5f4f84b821b6be62",
  transactionIndex: 0,
  v: "0xa95",
  value: 10000
}
> 
           

未完,細節待補充。。。。

繼續閱讀