验证人Validator和验证人运营者 是什么关系?

Alex 3:02 PM

VALIDATOR_CONSENSUS_PUBKEYl这是是不是由节点私钥产生的?

Hongmin 3:03 PM

「 cryptonight: VALIDATOR_CONSENSUS_PUBKEY是不是和这个私钥是对应的? 」


是的. 这个就是共识私钥对应的公钥.
priv_validator_key.json这个文件需要保管好备份好. 不要有两台机器同时使用这个文件, 否则会发生双签, 惩罚5%.迁移时priv_validator_state.json 这个文件也要一起迁移, 这个state文件记录了当前共识私钥签过的块高度, 可以保证已经签过的块不再签名, 防止双签发生.

Alex 3:03 PM

出块之后奖励分发到钱包

3:04 PM

是不是钱包和节点之间通过VALIDATOR_CONSENSUS_PUBKEY来建立联系

3:04 PM

节点使用共识私钥签名,然后收益分发到创建验证者交易的钱包地址

Hongmin 3:04 PM

[email protected] ~ $ cetcli q staking validators --chain-id=coinexdex

  • |
    operatoraddress: coinexvaloper1qqqpyu88j6d55snvgpqgnkntzz7qlyrxt3g8l3
    conspubkey: coinexvalconspub1zcjduepqv4dhywh5fvc56yqkkale57gmjdlljr6yqys8d9cs2nd6wl77csqs9h2qzl
    jailed: true
    status: 1
    tokens: “0”
    delegatorshares: “0.000000000000000000”
    description:
    moniker: bixipool
    identity: 16A7204980ABB731
    website: www.bixipool.com
    details: “”
    unbondingheight: 18893
    unbondingcompletiontime: 2019-12-02T14:53:16.717442477Z
    commission:
    commission_rates:
    rate: “0.100000000000000000”
    max_rate: “0.300000000000000000”
    max_change_rate: “0.010000000000000000”
    update_time: 2019-11-11T14:33:49.926020334Z
    minselfdelegation: “500000000000000”

可以看到 operatoraddress (coinexvaloper) 和 conspubkey是有映射关系的.

3:05 PM

[email protected] ~ $ cetcli keys list

  • name: bob
    type: local
    address: coinex1zc9wffdapumlar8gv6lajlhzcz0hmhartk6k4n
    pubkey: coinexpub1addwnpepqfkgzka4ynfmam7wd80hjcm656jfrgjshd5fcj90red0jve2uz4myqygdeh
    mnemonic: “”
    threshold: 0
    pubkeys: []

[email protected] ~ $ cetcli keys show bob --bech=val

  • name: bob
    type: local
    address: coinexvaloper1zc9wffdapumlar8gv6lajlhzcz0hmharsee7m8
    pubkey: coinexvaloperpub1addwnpepqfkgzka4ynfmam7wd80hjcm656jfrgjshd5fcj90red0jve2uz4my4kf607
    mnemonic: “”
    threshold: 0
    pubkeys: []

Alex 3:06 PM

好的,谢谢

Hongmin 3:07 PM

“创建验证者交易的钱包地址” 这个咱们社区要统一概念, 这个就叫 验证人运营者.
普通的全节点叫Fullnode.运营者发送create-validator交易后, 在链上会将Fullnode设置为验证人状态后, 叫Validator, 验证人. create-validator 交易将 operatoraddress (coinexvaloper) 和 conspubkey (来自priv_validator_key.json, 保管好) 建立了映射 关系.

eager7 3:11 PM

那验证人地址只是用来标识验证人的,不能用来收发代币等操作是么?

Hongmin 3:12 PM

可以的. 具有两个角色, 一个用来正常收发代币, 一个用来与Validator产生绑定关系.

new messages

eager7 3:13 PM

我在查询一个验证人地址余额时报错:“error”: “invalid Bech32 prefix; expected coinex, got coinexvalconspub”

3:13 PM

不能有余额么

Hongmin 3:15 PM

验证人Validator地址没有余额. 验证人签名使用的是共识私钥, 是用来参与出块共识时签名用的.验证人运营者ValidatorOperator 是正常的帐户地址, 可以有余额.

eager7 3:16 PM

好的,感谢解答