如何在NEAR网络中创建可接受委托的验证人节点

本文我们将在针对在NEAR网络中注册一个 staking pool进行进行讲解,staking pool与之前我们提到的如何在NEAR网络创建一个自抵押的验证人节点不同时的,本文所创建的staking pool除了验证人自己可以自抵押之外还可以接受他人委托。

注册验证人信息

注册验证人信息的过程就通过向NEAR的stakewars仓库中提交验证人信息完成的,它需要有一定github使用基础。

1、访问https://github.com/nearprotocol/stakewars,并点击右上角的Fork按钮:

2、Fork到自己的github账号后,点击 VALIDATORS.md 文件:

3、在打开的页面中选择右上角的编辑:

4、打开的编辑窗口中根据已经有的验证人模板信息,填写好logo,vadalitor,blurb以及account账号等信息等。若还没有account账号信息可访问 https://wallet.betanet.near.org/ 进行创建。创建细节可参见:如何在NEAR网络创建一个自抵押的验证人节点 ,查看其中的创建账户步骤。

5、编辑完成后保存,然后回到stakewars的仓库:https://github.com/nearprotocol/stakewars,提交新的pull request:

6、在打开的页面中点击 【compare across forks】 ,然后右侧选择自己账户下的仓库,然后点击 【Create pull request】完成提交,之后等待NEAR团队merge即可完了验证人的注册。

部署staking pool

官方文档:https://github.com/near/core-contracts/tree/master/staking-pool

在部署staking pool之前需要像运行自抵押的验证人节点一样,在本地运行好nearup以及near login。

目前部署智能合约的staking pool 有两种方式,一种是使用Rustup自己build,用命令行的方式创建合约(https://github.com/near/core-contracts/tree/master/staking-pool),还有一种方式是使用Staking Pool Factory在页面进行创建。我们以Staking Pool Factory为例讲解。

1、访问https://near-examples.github.io/staking-pool-factory/,在打开的页面对自己的账户对这个网页应用进行授权。

2、完成授权后可以看到下面的页面,其中:

Staking Pool ID:定义矿池的名字

Owner ID:自己的NEAR账号

Initial Staking Public Key:节点服务器中 ~/.near/betanet/validator_key.json 文件的Public Key

3、完全填写好后点击创建按钮,这将要需要30个Coin进行抵押。完成创建好后你的staking pool就创建好了。下面是如何向staking pool进行委托了。

向staking pool委托

官方文档:https://github.com/near/core-contracts/tree/master/staking-pool

向staking pool中委托需要使用near的命令行工具:

near call my_validator deposit'{}' --accountId user1 --amount 100

上面的命令中:

my_validator:自己创建的验证人的名字 

--accountId:自己或者委托人的NEAR 账号

--amount 100:存入100个NEAR

near call my_validator stake'{"amount": "100000000000000000000000000"}' --accountId user1

my_validator:自己创建的验证人的名字 

--accountId:自己或者委托人的NEAR 账号

amount:1个NEAR=10的24次方这个数字

这样即完成了向staking pool的委托,关于一些验证人和节点的排错,还可以参考官方的排错文档:https://github.com/nearprotocol/stakewars/blob/troubleshoot-file/troubleshooting.md