本教程將在ubuntu機器上設置Geth私有以太坊區塊鏈,並將網絡連接到Remix。本教程只設置1節點私有以太坊區塊鏈。可以使用引導節點(本教程中沒有包含)創建多節點私有區塊鏈。
Geth是什麼?
Geth是以太坊網絡上運行節點的最流行的獨立CLI客戶端之一。使用Geth,就可以加入以太坊網絡,在賬戶之間轉移以太。
Geth以太坊專用網絡設置:
首先,我們需要安裝geth包。
登錄到ubuntu機器,按照下面的說明安裝以太坊geth包。
命令:
Sudo apt-get install software-properties-common Sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt-get update sudo apt-get install Ethereum
檢查geth的版本。

創建一個目錄,命名為“node”。它將包含所有的文件和數據目錄。

現在geth已經安裝完畢,讓我們為以太坊區塊鍊網絡創建賬號。我正在創建兩個帳戶。那次可以創建任意多個。
在geth中創建帳戶:geth — datadiraccount new
它會提示輸入密碼,然後它會創建帶有公共地址和其他詳細信息的帳戶。把公共地址放在一邊。

帳戶創建

帳戶的公共地址
現在我們有了帳戶,讓我們創建一個創世文件。創世文件包含創世區塊的詳細信息,定義區塊鏈的初始狀態。它可以看成是區塊鏈的高度0。
如果已經有一個創世文件,就可以導入它,或者可以使用puppeth (一個以太坊私有網絡管理器) 創建一個新的創世文件。
當你運行“puppeth”時,它會啟動一個CLI嚮導。要創建一個創世區塊,你需要以下細節:
網絡名稱Conesus算法。目前,puppeth只支持兩種共識算法,即Ethash(PoW)和Clique(PoA)。 Sealer 帳戶——可以提到一個或多個帳戶。預支基金帳戶網絡ID

在這裡,我們為PoW(proof of work-Clique)共識算法創建了創世文件。一旦導出了創世配置,它將在' node '目錄中創建文件。

'blockchain.json' 是我們將用來設置私有geth區塊鍊網絡的創世文件。
我們的創世文件已經準備好了,讓我們初始化創世文件。
命令:geth - datadir node/ init node/blockchain.json
如果創世文件有任何問題,此命令將引發錯誤。

為上面創建的帳戶創建一個密碼文件;這樣我們就不需要在進行交易時顯式解鎖賬戶。

最後一步,讓我們使用以下命令啟動geth 區塊鏈:
Command: geth — networkid 1234 — datadir node/ — port 30303 — ipcdisable — syncmode full — http — http.addr 0.0.0.0 — http.api admin,eth,miner,net,txpool,personal,web3 — allow-insecure-unlock — http.corsdomain “” — http.vhosts “” — http.port 8545 — unlock
0xd6b336300929C00d38c5874aa821C134F4d8a255,0x1aDC2f0BD5CcA05FFEBe4704aeA103dB0D6590F7 — mine console — password node/password.txt

現在geth私有以太坊區塊鍊網絡正在工作,可以在控制台看到詳細信息:
eth.accounts →這將顯示帳戶可用的列表(2)。

admin.nodeInfo→這將顯示節點的詳細信息。

交易等功能的詳細終端命令請參考geth官網:https://geth.ethereum.org/docs/getting-started
連接Geth 私有區塊鏈到REMIX
下一步是連接geth以太坊私有區塊鏈到Remix。
Remix是什麼? Remix是一個基於web的以太坊IDE。它允許像區塊鏈一樣為以太坊開發、部署和管理智能合約。
以http模式打開REMIX。

在“部署和運行交易”部分,環境選擇“Web3 Provider”。輸入私網區塊鏈的IP地址。 : http://localhost: 8545

設置環境之後,應該能夠看到特定連接的帳戶。

已經成功使用Geth創建了以太坊私有網絡。
Source:https://medium.com/coinmonks/setup-geth-ethereum-private-network-3806ef7fbe42
