Go-Ethereum

如何設置乙太坊私有區塊鏈?

  • May 9, 2020

有誰知道如何在乙太坊網路中建立私有區塊鏈?可以執行私有乙太坊節點嗎?我已經看到將像 EOS 這樣的公共區塊鏈分叉為私有區塊鏈。我想知道在乙太坊中也有可能嗎?

是的,有可能。我在下面附上了兩個關於如何設置它的連結,這些連結更深入地介紹了這一點,並提供了一個高級摘要。

總的來說,你需要下載乙太坊的程式碼製作geth,製作geth的解釋可以在乙太坊頁面上找到。

之後,你需要做的主要事情是在你的 genesis.json 中設置你的 genesis 狀態,它看起來像下面的 JSON 對象。

{
 "config": {
       "chainId": 0,
       "homesteadBlock": 0,
       "eip155Block": 0,
       "eip158Block": 0
   },
 "alloc"      : {},
 "coinbase"   : "0x0000000000000000000000000000000000000000",
 "difficulty" : "0x20000",
 "extraData"  : "",
 "gasLimit"   : "0x2fefd8",
 "nonce"      : "0x0000000000000042",
 "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",
 "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
 "timestamp"  : "0x00"
}

然後使用命令初始化您的網路

geth init path/to/genesis.json

之後,您需要創建一個專用的 bootnood

$ bootnode --genkey=boot.key
$ bootnode --nodekey=boot.key

然後啟動您的成員節點,您可以使用

geth --datadir=path/to/custom/data/folder --bootnodes=<bootnode-enode-url-from-above>

要啟動您的私人礦工,您可以使用

geth <usual-flags> --mine --minerthreads=1 --etherbase=0x0000000000000000000000000000000000000000

教程連結 https://github.com/ethereum/go-ethereum#operating-a-private-network https://hackernoon.com/set-up-a-private-ethereum-blockchain-and-deploy-your-第一個solidity-smart-contract-on-the-caa8334c343d

當您啟動 geth 節點時,預設情況下它連接到主網。如果要設置專用網路,則應將 –networkId 設置為某個隨機數,並且不應屬於任何現有網路。您可以參考以下教程來設置專用網路。 https://medium.com/coinmonks/ethereum-setting-up-a-private-blockchain-67bbb96cf4f1

也可以使用geth發布的cli工具puppeth搭建私網。使用 puppeth,您可以隨時隨地選擇 consensys 算法。 https://arctouch.com/blog/how-to-set-up-ethereum-blockchain/

引用自:https://ethereum.stackexchange.com/questions/68471