以太坊私有鏈 新手上工, 帳號, 交易, 挖礦

AndyHuang
5 min readJun 14, 2020

--

上篇文章,我們已經架設好以太坊私有鏈,並且建立了兩個帳號,以備做交易測試、挖礦測試。

這次我們就來完成這兩個目標。

環境檢視,帳號檢視

因為我們是新手,可能不知道本機上管理的帳號有哪些, 使用 eth.accounts 來看

這個 node 上沒有帳號,怎麼辦?提醒一下哦,

personal.newAccount() 建立兩個新帳號

記下帳號及密碼,千萬不能忘記密碼,忘了就沒有任何方法可以拿回帳號內的資金

再看一下本機 node 上的帳號 eth.accounts

的確建立了2個帳號

我們現在有三個帳號,(事實上,有 255+3 個,前255 個是給預編譯合約使用的),一個是我們在初始化創世區塊時建立的,兩個是現在建立的

以下分別稱為 帳號a 帳號b 帳號c

第一個帳號, 帳號a,是使用 geth 建立的,沒有在管理範圍內,所以我們使用 geth 來看看,geth account list

也是存在的,

檢查三個帳號的餘額, 如下

我用了 eth.getBalance(“085a0f6bd42568ccf3f49f292577d32c33527ebf”) 來看帳號a

用 eth.getBalance(eth.account[0]), eth.getBalance(eth.account[1]) 來看節點管理的兩個帳號,帳號b 帳號c

順便看一下本節點的指定挖礦帳號 eth.coinbase

注意一下訊息,是節點管理中的一個帳號,這個帳號,在使用之前,要先釋放 unlock,才能進行其他操作,像是轉帳之類的。我們暫時不去更改。

上圖的 coinbase 是 帳號b ,我們先不動,原因是我們想看看挖礦究竟會賺多少,記一下我們先不動帳號 b。

挖礦

先確認挖礦狀態 eth.mining

開始挖礦 miner.start()

這裡要等一下,要挖礦要時間

挖到礦了

查看到區塊的號碼,也是長度

我們現在的區塊有12個,數量對我們來說沒有什麼用,但是在規則裡,長鏈會覆蓋短鏈,這點要記得

先停止挖礦, miner.stop()

用 eth.mining 確定沒在挖礦了

看一下帳號b 的資金, 挖礦所得

零很多,單位是 wei 別忘了,要換算成 eth ,小數點往前18位

交易

我們直接建立交易,從帳號b 轉一些幣到 帳號c

直接轉 eth.sendTransaction({ from: eth.accounts[0], to: eth.accounts[1], value: web3.toWei(5, “ether”) })

看吧,提示要先 unlock

先解除鎖定 personal.unlockAccount(eth.accounts[0],”aa1234") 第一個參數是帳號,第二個是密碼

再轉一次 eth.sendTransaction({ from: eth.accounts[0], to: eth.accounts[1], value: web3.toWei(5, “ether”) })

此時,幣還沒有轉過去,因為沒有礦工簽名。

看一下

再挖礦 miner.start(1) , 這次帶參數,1 表示用一個 process 來挖

挖到後結束,看一下幣轉過去了沒,確認一下區塊長度

eth.getBalance(eth.accounts[1])

看一下區塊長度 eth.blockNumber

本次我們在同一個節點上創建了多個帳號,然後透過挖礦取得資金,然後發起交易,將資金轉給帳號c ,

並且反復地多次確認,我們的操作都在正確的軌道之下,雖然很多步驟看多餘,但是以新手的角度來說,確定自已做對了會比做得快要來得重要得多。

下次,我們就開始進行多節點的操作,在不同的節點下進行轉帳並且看資金的流動。

--

--

AndyHuang
AndyHuang

Written by AndyHuang

blockchain , defi , programe

No responses yet