如何成爲一個新的驗證者[進階版]

如何成爲一個新的驗證者[進階版]

爲了使你的資產更加安全,我們需要你設置一些必要的識別參數來成爲驗證者。 我們還設置了相應的門檻,以便我們可以篩選出那些真正想爲鏈子做貢獻的人。當然 當然,我們會給這些人以相應的獎勵。

下面的步驟被視爲你的第一次操作,因爲你只需要執行一次以下操作 來成爲驗證者。除非你註銷驗證人或取消相應的操作,否則你將不需要 執行第二次操作,以避免浪費你的燃氣費。

第一步:創建賬戶

在這一步中,你需要將你的身份信息轉移到相應的管理合約中,它將 管理你的賬戶、鑰匙和元數據。

這一步的目的是通過授權替代鑰匙來保持你鎖定的MAP'更加安全,以用於簽署 證明、投票、驗證。通過這樣做,你可以繼續參與協議,同時保持鑰匙對你鎖定的MAP'的訪問。 訪問你鎖定的`MAP'的鑰匙存放在倉庫裏。

你需要 "createAccount "命令來執行上述操作,更多關於 "createAccount "命令的細節請見 見this

第二步:授權

授權一個地址代表該賬戶簽署共識信息。這個被授權的地址被稱爲簽名者。 正如他的名字一樣,他只負責簽名,你的獎勵不會發給簽名者,而是發給在上一步創建的賬戶 在上一步驟中創建的賬戶。

第三步:鎖定`MAP'。

我們設定的驗證人的門檻是將1000,000 MAP鎖定在相應的管理智能合約中。

這一部分鎖定的MAP將用於未來的懲罰,這也是當選的條件之一。

你需要lockedMAP命令來執行上述操作,更多關於lockedMAP命令的細節請到 見this .

第四步:驗證器註冊

這一步是註冊爲一個新驗證器的關鍵步驟。

你需要register命令來執行上述操作,更多關於register命令的細節請見 見this

在這一步,你將成功註冊爲驗證者。接下來,你可以嘗試爲自己投票。如何投票,請 to seethis.

第五步:投票

驗證者必須至少擁有總票數的0.001比例,才能被考慮參加選舉。所以驗證人 不能沒有票數。

我們可以用驗證人賬戶爲自己投票,也可以讓其他驗證人或投票人爲自己投票。

我們在第三步中已經鎖定了1,000,000 MAP,現在爲自己投票是個不錯的決定

高級例子

啓動一個提供RPC服務的節點。

你可以自己啓動一個提供RPC服務的節點,或者你可以使用 我們提供的[RPC節點](/develop/map-relay-chain/README.md)。

  • 克隆存儲庫

  • Build

build生成的文件在build/bin目錄下

###加入網絡

首先你需要準備兩個keystore,一個用來staking的叫做account,一個用來挖礦的叫做signer

account 的密鑰庫:account.json

signer 的密鑰庫:signer.json

如何構建Atlas 點此

如果想讓node在後台運行,不掛掉,可以結合使用nohup和&,或者screen之類的。 下面我們將演示使用screen

--miner.validator 用於指定signer的地址

--port 30321 以確保端口在防火牆上打開

節點啟動後,會自動連接到其他節點,然後開始同步區塊。

###簽名者操作

從簽名者處創建 ECDSA 簽名

--target 用於指定account的地址

--signerPriv 用於指定signer的私鑰

生成簽名者證明

--validator 用於指定account的地址

--signerPriv 用於指定signer的私鑰

賬戶操作

### 創建賬戶

--keystore 用於指定account的地址

簽名授權

使用生成的簽名 (0x59dff185...32f0d700) 進行授權 來自從簽名者製作 ECDSA 簽名

--keystore 用於指定account的keystore (account.json)

--signer 用於指定signer的地址鍵(signer.json)

鎖定MAP

--keystore 用於指定account的keystore

驗證者通過證明註冊

使用生成的證明 (0xf90149b8...0e56f0ab1) 註冊驗證器 通過生成簽名者證明

--keystore 用於指定account的keystore

驗證

至此我們已經完成了validator的註冊步驟,下面我們來驗證一下是否已經成為validator。

從上面的結果可以看出,我們已經成為了驗證者。 但是我們的票數是 0,這使我們無法成為 當選為可以參與區塊的驗證者,這不是我們想要的。 所以我們還需要投票給 驗證器。

###投票

票數不能大於鎖定的票數。

有關投票和選舉的更多信息,請點擊以下鏈接查看:

投票 選舉

--keystore 用於指定account的keystore

驗證

現在一起來驗證投票是否成功

從結果來看,我已經成功投給了自己,但還不夠。 我們需要在下一個epoch調用RPC來最終確定我們是否被選為可以參與的驗證人 區塊生成,就像下面這樣:

關於istanbul_getValidators的更多信息點擊這裏

Last updated

Was this helpful?