# 验证人genesis tx

*在你生成交易声明验证器之前,你需要一个在控制台客户端签署交易的账户。 这需要用随机生成的助记符和名称ACCOUNT_NAME创建一个新的账户,命令是

deccli keys add ACCOUNT_NAME

, 比如说

deccli keys add node-owner

, 或从现有的助记符中恢复一个名称为ACCOUNT_NAME的账户,命令是

deccli keys add ACCOUNT_NAME --recover

, 比如说

deccli keys add node-owner --recover

为了形成一个向创世文件声明验证器的事务,在控制台客户端执行以下命令:

decd gen-declare-candidate-tx

, 作为其执行的结果,已签署的交易以JSON对象的形式形成,它将被进一步包含在genesis.json文件中。

命令中需要几个标志:

decd gen-declare-candidate-tx \   
    --sequence 0 \      
    --chain-id "decimal-mainnet-07-23-20-55" \     
    --amount "1500000000000000000000000del" \     
    --pubkey "dxvalconspub1zcjduepqny2jlxtkpy5cuudu79lkjfqrmaseqdkd7njdt0a4n8zflg57jflsg60x9h" \      
    --commission-rate "0.1275" \      
    --reward-addr "dx1mtlnpmwf8zr6pek6gq25nv45x2890sne2ap0cc" \      
    --moniker "My local test validator" \      
    --website "myvalidator.com" \      
    --identity "6A0D65E29A4CBC8E" \      
    --security-contact "email: [email protected]" \      
    --details "The best validator ever" \      
    --node-id "$(decd tendermint show-node-id)" \      
    --name node-owner \      

其中 :

  • sequence - 总是等于0
  • chain-id - 当前测试或生产网络的chain-id标识符
  • amount - 适当格式的验证人股份,在这种情况下,股份是1,500,000 DEL
  • pubkey - 这里是你部署的节点的公钥。使用'decd tendermint show-validator'*命令,以便弄清它。
  • commission-rate - 验证器从委托给它的硬币的奖励中抽取的佣金数额,在这种情况下,佣金是12.75%
  • reward-addr - 验证人的奖励将被存入的地址。如果缺少这一行或者没有指定地址,奖励将被发送到验证人宣布的地址
  • moniker - the validator's name to be displayed on Decimal services
  • website - 验证人的网站,可选
  • identity - 在Keybase或UPort系统上显示头像的验证人标识,例如,对于Keybase,它是一个16个字符的字符串
  • security-contact - security contact details
  • details - 验证器的附加文本描述,可选
  • node-id - 部署的节点ID。如果声明是直接从声明的节点进行的,你可以直接在node_info.json文件中找到它,或者使用命令 - decd tendermint show-node-id。如果声明是从另一个节点进行的,你应该在声明节点的文件中找到该节点的标识符
  • name - 签署该交易的账户名称。我们之前用命令 deccli keys add创建/恢复了它。

执行命令的结果将是这样的(根据实际数据进行调整):

{
  "type": "cosmos-sdk/StdTx",
  "value": {
    "msg": [
      {
        "type": "validator/declare_candidate",
        "value": {
          "commission": "0.127500000000000000",
          "validator_addr": "dxvaloper1tvqxh4x7pedyqpzqp9tdf068k4q9j2hmddu9z5",
          "reward_addr": "dx1mtlnpmwf8zr6pek6gq25nv45x2890sne2ap0cc",
          "pub_key": {
            "type": "tendermint/PubKeyEd25519",
            "value": "mRUvmXYJKY5xvPF/aSQD32GQNs305NW/tZnEn6Kekn8="
          },
          "stake": {
            "denom": "del",
            "amount": "1500000000000000000000000"
          },
          "description": {
            "moniker": "My local test validator",
            "identity": "6A0D65E29A4CBC8E",
            "website": "myvalidator.com",
            "security_contact": "email: [email protected]",
            "details": "The best validator ever"
          }
        }
      }
    ],
    "fee": {
      "amount": [],
      "gas": "200000"
    },
    "signatures": [
      {
        "pub_key": {
          "type": "tendermint/PubKeySecp256k1",
          "value": "At2s2CHimonx45uDImfnbTI6Xo2qZJ/Tye0+AioQ38uO"
        },
        "signature": "xRROS9sw3IaDdfcrOQtXzEh17thcGoZkZ6DsSZecgekexNXiVOJvPpbnzVAuMP6De3WxJxoKrW+pbBRbz3LFFg=="
      }
    ],
  }
}