火狐瀏覽器添加MetaMask錢包
- 因為對其配置了代理工具,所以直接使用谷歌引擎搜索MetaMask錢包即可
?第一次使用,立即開始設置
?點擊我同意,進行密碼的創建
?牢記助記詞,助記詞及其關鍵,將其存儲在安全的地方
區塊鏈-開發 Metamask 連接私有節點,且導入節點賬號
- ?第一步,Metamask設置節點連接。
- (前提:需要自己手動搭建以太坊私有節點,我用的是geth,且搭建在ubtuntu上,關于ubtuntu搭建geth,請參考我的其余文章)
- 點擊設置
開啟相關設置選項
?進入Ubuntu系統 創建賬號信息和進行挖礦操作
- 連接到Geth節點后,接下來需要設置coinbase或etherbase賬戶。創建賬戶可以使用personal對象的newAccout方法,并設置密碼(密碼不可見)。
- coinbase()是指礦工地址,也就是默認eth.accounts[0]的位置,所有挖到的幣都被存儲到這個賬戶中
- 命令如下? ? ? ? ?personal.newAccount()
- 如果需要更改原有的coinbase賬戶地址,可以通過address.miner對象的setEtherBase函數進行操作。這個操作將使用新的賬戶替換原有的coinbase賬戶。
- 命令如下? ? ? ? miner.setEtherbase("0x19b4029dad20824db6dc201437f9cac2a7e1fc5c")
- 執行查詢命令,可看到設置的地址已經生效了。此時挖礦可以啟動了。由于只有一個礦工,將獲得全部的挖礦獎勵,coinbase賬戶的以太幣會逐步增加。
- 查看當前的用戶??eth.accounts
開始挖礦
- ?start中的參數代表了用于挖礦的線程數量。
- 命令如下? ? miner.start(8)
- 這時切換到之前創建私有鏈的命令行窗口中,可以看到挖礦過程的輸出結果。這里是指我們當時創建的第一個窗口。如果是第一次挖礦,需要生成DAG相關文件,這個需要花費一定的時間。第二次以后就不需要了。
- 當使用輸入日志的方式時,可以輸入命令tail -f geth.log 來跟蹤挖礦進度
- 查看正在挖礦的賬戶0已經獲得的以太幣和未挖礦的賬戶1的以太幣余額。查看錢包的余額命令如下,將0改為1即可查看第二個賬戶的余額。
- 查看錢包的余額? eth.getBalance(eth.accounts[0])
- 挖到一個區塊會獎勵5個以太幣,挖礦所得的獎勵會進入礦工的賬戶,這個賬戶叫做coinbase,默認情況下coinbase是本地賬戶中的第一個賬戶。
- getBalance()返回值的單位是wei,wei是以太幣的最小單位,1個以太幣=10的18次方個wei。要查看有多少個以太幣,可以用web3.fromWei()將返回值換算成以太幣
- 停止挖礦,命令如下? ?miner.stop()
?進行交易
- 從賬戶0到賬戶1轉賬,需要先解鎖賬戶才能轉賬,否則會報錯。
- 解鎖命令如下? ?personal.unlockAccount(eth.accounts[0])
- 發起交易,由賬戶0轉賬200以太幣到賬戶1,命令如下
personal.unlockAccount(eth.accounts[0])
amount = web3.toWei(200,'ether')
eth.sendTransaction({from:eth.accounts[0],to:eth.accounts[1],value:amount})
- 此時交易已經提交到區塊鏈,返回了交易的hash,但還未被處理,本地交易池中有一個待確認的交易,可以使用 eth.getBlock(“pending”, true).transactions 查看當前待確認交易。
-
要使交易被處理,必須要挖礦。這里我們啟動挖礦,然后等待挖到一個區塊之后就停止挖礦。命令如下:
miner.start(1);admin.sleepBlocks(1);miner.stop();
web3.fromWei(eth.getBalance(eth.accounts[1]),'ether')
- 此時,交易已經生效,賬戶1應該已經收到了200個以太幣了。
- ?解鎖賬戶的密碼均是 123456
交互式執行環境
- 這是一個交互式的 JavaScript 執行環境,在這里面可以執行 JavaScript 代碼,其中 > 是命令提示符。在這個環境里也內置了一些用來操作以太坊的 JavaScript 對象,可以直接使用這些對象。這些對象主要包括:
- eth:包含一些跟操作區塊鏈相關的方法;
- net:包含一些查看p2p網絡狀態的方法;
- admin:包含一些與管理節點相關的方法;
- miner:包含啟動和停止挖礦的一些方法;
- personal:主要包含一些管理賬戶的方法;
- txpool:包含一些查看交易內存池的方法;
- web3:包含了以上對象,還包含一些單位換算的方法。
?常用命令:
- personal.newAccount():創建賬戶;
- personal.unlockAccount():解鎖賬戶;
- eth.accounts:枚舉系統中的賬戶;
- eth.getBalance():查看賬戶余額,返回值的單位是 Wei(Wei 是以太坊中最小貨幣面額單位,類似比特幣中的聰,1 ether = 10^18 Wei);
- eth.blockNumber:列出區塊總數;
- eth.getTransaction():獲取交易;
- eth.getBlock():獲取區塊;
- miner.start():開始挖礦;
- eth.mining? 查看是否正在挖礦,如果是True表明正在執行
- miner.stop():停止挖礦;
- web3.fromWei():Wei 換算成以太幣;
- web3.toWei():以太幣換算成 Wei;
- txpool.status:交易池中的狀態;
- admin.addPeer():連接到其他節點;
- eth.getBlock(區塊的高度)?命令查看區塊的信息?
- eth.getTransaction("交易生成的hash序列")? 查看交易的詳細信息?
- eth.blockNumber??查看區塊數量
- eth.getBlock("pending", true).transactions??#查看本地交易池,待提交的交易
參考鏈接
- 基于Mac環境搭建以太坊私有區塊鏈進行挖礦模擬_CHYabc123456hh的博客-CSDN博客_mac挖礦eth
- 以太坊私有鏈 使用dev模式_CHYabc123456hh的博客-CSDN博客
- 區塊鏈以太坊學習筆記_xpj55975的博客-CSDN博客
- 以太坊:將metamask錢包賬戶私鑰導入到本地(Ubuntu)的私鏈中_fengjinghong的博客-CSDN博客_metamask導出私鑰