日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

在Ubuntu下成功搭建以太坊私有链挖矿并转账

發布時間:2024/2/28 Ubuntu 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Ubuntu下成功搭建以太坊私有链挖矿并转账 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

最近老師布置了一個任務,讓我學習區塊鏈的知識。剛開始乖乖的拿一本書看概念,有時候看書真的很無聊,我都睡過去好幾回了。前幾天老師說,你要是感覺看概念太無聊,就先嘗試著搭一個以太坊私有鏈試一試。哇,這可比看書有意思多了。立馬開始試,網上找了各種方法,看了好多博主的文章。但是自己上手后總是失敗。就在今天,終于弄成了,心情無比激動。

剛開始自己弄的時候,miner.start()后,INFO就一直停留在commit new mining work。然后就沒有反應了,一直都沒有Generating DAG in progress的信息產生。在網上查了很多資料,都沒有一個準確的答案。最后,我想會不會是版本和源的問題。于是又新建了一個虛擬機,安裝Ubuntu18.04。從頭開始搭,如果這都失敗的話,那就真的涼了。

?

1.使用剛安裝好的Ubuntu,第一件事就是設置下載源

進入Ubuntu系統的軟件與更新

點擊關閉后就可以了。

2.依次輸入以下命令

sudo apt-get update 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

?

3.輸入geth -h檢查以下版本

?

4.接下來是創建創世塊

創世名稱命名為genesis.json(挖礦難度設置低一點),內容如下:

{"config": {"chainId": 10,"homesteadBlock": 0,"eip155Block": 0,"eip158Block": 0},"alloc": {"bc9a3ece02d7cb31cf63dfdfc48db0b82770d014": {"balance": "1000000000000000000000000000000"},"457e7d69fd3ac576aa744228e6b3319cde768473": {"balance": "2000000000000000000000000000000"},"926ef6011f7c852d30a01c7a4aaa5cbc460588fc": {"balance": "3000000000000000000000000000000"}},"nonce": "0x0000000000000056","difficulty": "0x0200","mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000","coinbase": "0x0000000000000000000000000000000000000000","timestamp": "0x00","parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000","extraData": "0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa","gasLimit": "0x4c4b40" }

參數說明:

mixhash:與nonce配合用于挖礦,由上一個區塊的一部分生成的hash。nonce:nonce就是一個64位隨機數,用于挖礦,注意他和mixhash的設置需要滿足以太坊的Yellow paper。difficulty:設置當前區塊的難度,如果難度過大,cpu挖礦就很難,這里設置較小難度。alloc:用來預置賬號以及賬號的以太幣數量,因為私有鏈挖礦比較容易,所以我們不需要預置有幣的賬號,需要的時候自己創建即可以。coinbase:礦工的賬號,隨便填。timestamp:設置創世塊的時間戳。parentHash:上一個區塊的hash值,因為是創世塊,所以這個值是0。extraData:附加信息,隨便填,可以填你的個性信息。gasLimit:該值設置對GAS的消耗總量限制,用來限制區塊能包含的交易信息總和,因為我們是私有鏈,所以填最大。

將這個genesis.json文件放到一個新建文件夾中,例如:放到privateblock中。

然后在終端輸入

geth --datadir data --networkid 20140628 --rpc --rpccorsdomain "*" init ./genesis.json--networkid 20140628,為私鏈id(沒有太多限制),以太坊主網id為1,如果還要要搭建私鏈下的其他節點,networkid必須相同。--datadir data 中data是文件夾的名稱,私鏈數據會存儲在這個文件夾內。若存在其他節點,文件名要不同。 可以通過"--datadir 文件名"來區分不同的私鏈節點。如果未設置--datadir,則會讀取以太坊主網的數據, 默認位置在/root/.ethereum中。

出現以上信息,說明創世塊創建完成。

?

5.打開客戶端

在終端鍵入:

geth --datadir data --networkid 20140628 --rpc --rpccorsdomain "*" --nodiscover --port 16333 --rpcport 8546 console-port 16333 系統默認是30303 --rpcport 8546 系統默認是8545 如果啟用第二個測試節點,port以及rpcport應與第一個節點不同。

成功打開,注意下版本就可以了。

?

6.創建賬戶

可以使用eth.accounts查看有多少個賬戶。

輸入personal.newAccount(123)創建賬戶,這個“123”是密碼,給你返回的是賬戶。此時你可以輸入eth.accounts[0]來查看第一個賬戶,這里和數組一樣,再創建賬戶就是eth.accounts[1]了。

eth.coinbase可以查看礦工賬戶,因為挖礦默認的是第一個賬戶,所以一次創建多個賬戶,返回的都是eth.accounts[0]

?

7.挖礦

終端鍵入:miner.start(1),括號里不填的話是默認全力挖礦,電腦可能受不了。產生的INFO如下:

進行到這里都很順利,速度也很快,但是接下來就要等很長時間了。這是因為第一次挖礦需要初始化挖礦線程。大家可以看到這中間經歷了快6個小時(我都等的快崩潰了)。到了下面這一步,等就完事了。

輸入miner.stop()就可以停止挖礦

?

8.接下來就可以輸入eth.blockNumber命令查看區塊的高度。

輸入eth.getBlock()可以查看區塊信息。

?

9.轉賬

web3.fromWei(web3.eth.getBalance(web3.eth.accounts[0]),"ether") web3.fromWei(web3.eth.getBalance(web3.eth.accounts[1]),"ether")

用上面的方式也可以查詢到賬戶的余額,后面的ether是單位,ether=wei*10^18

如果直接轉賬會報錯,提示需要密碼或解鎖。

此時需要輸入:personal.unlockAccount(web3.eth.accounts[0])解鎖賬戶并輸入密碼

解鎖成功后再次轉賬:

web3.eth.sendTransaction({from:web3.eth.accounts[0] , to: web3.eth.accounts[1],value: web3.toWei(1, "ether")})

此時轉賬只是提交成功而已交易成功需要等到礦工挖新的區塊

再次輸入miner.star(1)進行挖礦,這時可以看到,等待時間已經縮短到了7分鐘。

其實挖到一個礦就可以了,輸入miner.stop()停止挖礦。

再次查詢賬戶余額顯式如下:

至此,以太坊搭建私有鏈挖礦和轉賬都完成了。

總結

以上是生活随笔為你收集整理的在Ubuntu下成功搭建以太坊私有链挖矿并转账的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。