搭建測試網路和私有鏈

2021-07-24 08:13:22 字數 3149 閱讀 2944

morden是公開的以太坊替代測試網。它會貫穿於整個軟體里程碑frontier和homestead。

用法eth (c++客戶端) 0.9.93及以上版本自動支援。比如開啟以下任意客戶端時,通過—morden引數。

geth (go客戶端)

細節除以下幾條,所有引數都和主要的以太坊網路相同:

– 狀態樹形結構中的所有賬戶都有隨機數》= ian。

– 賬戶被插入到狀態樹形結構中時,都會被賦予乙個初始隨機數= ian。

morden的genesis.json

獲取morden測試網以太幣

有兩種方法可以獲取morden測試網以太幣:

可以使用–genesis和–config連線到或建立乙個新的網路。

可以同時使用–config和–genesis。

那樣的話,–config提供的初始區塊描述會被–genesis選項覆蓋。

注意:包含乙個網路的json描述。

這是乙個config的例子(用於olympic網路):

注意:包含乙個網路的json描述。

內容與』config』引數提供的初始領域相同。

你可以在私有測試網上生成或挖掘自己的以太幣。這個試驗以太坊方法很划算,可以避免不得不挖礦,或找到morden測試網路的以太幣。

在私有鏈中需要詳細說明的事件有:

初始檔案

初始區塊是區塊鏈的起始 — 第乙個區塊,區塊0,唯一沒有指向前面區塊的乙個區塊。協議確保其他節點不會和你的區塊鏈一致,除非他們和你有相同的初始區塊,這樣你想建立多少私有測試網區塊鏈,就可以建立多少!

}

儲存檔案為customgenesis.json。用下面的標誌啟動geth節點的時候,你會引用到這個。

--genesis /path/to/customgenesis.json
私有網路的命令列引數

有一些必需的命令列選項(又稱為「標誌」)來確保你的網路是私有的。我們已經談到了初始標誌,下面還有幾個。注意所有下面的指令都會用在geth以太坊客戶端。

--nodiscover
使用這個命令可以確保你的節點不會被非手動新增你的人發現。否則,你的節點可能被陌生人的區塊鏈無意新增,如果他和你有相同的初始檔案和網路id。

--maxpeers 0
如果你不希望其他人連線到你的測試鏈,可以使用maxpeers 0。反之,如果你確切知道希望多少人連線到你的節點,你也可以通過調整數字來實現。

--rpc
這個指令可以啟用你節點上的rpc介面。它在geth中通常被預設啟用。

--rpcapi "db,eth,net,web3"
這個命令可以決定允許什麼api通過rpc進入。在預設情況下,geth可以在rpc啟用web3介面。

--rpcport "8080"
將8000改變為你網路上開放的任何埠。geth的預設設定是8080.

--rpccorsdomain ""
這個可以指示什麼url能連線到你的節點來執行rpc定製端任務。務必謹慎,輸入乙個特定的url而不是wildcard ( * ),後者會使所有的url都能連線到你的rpc例項。

--datadir "/home/testchain1"
這是你的私有鏈資料所儲存在的資料目錄(在nubits下)。選擇乙個與你以太坊公有鏈資料夾分開的位置。

--identity "testnetmainnode"
這會為你的節點設定乙個身份,使之更容易在端點列表中被辨認出來。這個例子說明了這些身份如何在網路上出現。

發布geth

你建立了定製初始區塊json並建立區塊鏈資料目錄後,在控制台輸入以下指令,進入geth:

geth --identity "mynodename" --genesis /path/to/customgenesis.json --rpc --rpcport "8080" --rpcco
注意:請改變標誌與定製設定匹配。

每次想要進入定製鏈的時候,你都需要用定製鏈指令啟動geth例項。如果你只在控制台輸入「geth」,它不會記住你設定的所有標誌。

給賬戶預分配以太幣

「0x400」難度能讓你再私有測試網鏈上快速挖以太幣。如果你建立了自己的鏈,開始挖礦,你應該幾分鐘就會有上百個以太幣,遠遠超過了在網路上測試交易所需的數量。如果你還想給賬戶預分配以太幣,就需要:

建立私有鏈以後再建立新的以太坊賬戶。

複製新的賬戶位址。

在custom_genesis.json檔案中新增以下指令:

"alloc":

}

注意:用你的賬戶位址取代0x1fb891f92eb557f4d688463d0

d7c560552263b5a

儲存初始檔案,重新執行私有鏈指令。geth完整裝載以後,關閉它。

我們想指派乙個位址給變數primary,檢視它的餘額。

在終端執行geth account list指令,檢視指派給你的新位址賬戶號碼是什麼。

> geth account list

account #0:

account #1:

account #2:

account #3:

記錄你預分配以太幣的賬戶號碼。或者,可以用geth console(和最先啟動geth時保持一樣的引數)啟動控制台。提示出現以後,輸入

> eth.accounts
這會返回到你擁有的賬戶位址排列。

> primary = eth.accounts[0]
注意:用你的賬戶指數取代0,這個控制台指令會返回到你第乙個以太坊位址。

輸入以下指令:

> balance = web3.fromwei(eth.getbalance(primary), "ether");
這應該會返回到7.5,意味著你賬戶裡有那麼多以太幣。我們必須在你初始檔案的分割槽裡放那麼多數量是因為「餘額」領域以wei為單位取乙個數字,wei是以太坊貨幣以太幣的最小面額(參見以太幣)。

新編搭建cpp ethereum 私有鏈

平台 ubuntu 首先先準備原始碼 從github上clone git clone recursive 若沒有安裝git則首先安裝git,這裡建議掛梯子,要不然速度會奇慢無比,一定要加 recursive,不然就只clone了個檔案目錄 cd aleth 安裝相關編譯環境 安裝完成後開始搭建 su...

Ubuntu以太坊私有鏈搭建

csdn部落格 安裝geth root dserv834 mtl8 apt get install software properties common root dserv834 mtl8 add apt repository y ppa ethereum ethereum root dserv8...

《我學區塊鏈》 三 以太坊私有網路搭建

此次搭建以太坊私鏈的環境為 ubuntu 16.04.4,centos 上大體相同,需要注意的注意的一點是,由於區塊鏈生態中的相關軟體都較新,所以這裡推薦作業系統方面也盡可能使用較新的穩定版本。sudo add apt repository y ppa ethereum ethereum sudo ...