如何成爲一個新的驗證者[進階版]
如何成爲一個新的驗證者[進階版]
爲了使你的資產更加安全,我們需要你設置一些必要的識別參數來成爲驗證者。 我們還設置了相應的門檻,以便我們可以篩選出那些真正想爲鏈子做貢獻的人。當然 當然,我們會給這些人以相應的獎勵。
下面的步驟被視爲你的第一次操作,因爲你只需要執行一次以下操作 來成爲驗證者。除非你註銷驗證人或取消相應的操作,否則你將不需要 執行第二次操作,以避免浪費你的燃氣費。
第一步:創建賬戶
在這一步中,你需要將你的身份信息轉移到相應的管理合約中,它將 管理你的賬戶、鑰匙和元數據。
這一步的目的是通過授權替代鑰匙來保持你鎖定的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?