Skip to content

abci/example: there are two problems of update validator set  #3659

@needkane

Description

@needkane

Tendermint version (use tendermint version or git rev-parse --verify HEAD if installed from source):
./build/tendermint version
0.31.5-fd3445b3

ABCI app (name for built-in, URL for self-written if it's publicly available):

Environment:

  • OS (e.g. from /etc/os-release):

Centos 7

  • Install tools:
  • Others:

What happened:
There are two problems.
1、Document is wrong
Reference https://github.com/tendermint/tendermint/blob/master/abci/example/kvstore/README.md.
Rule is "val:pubkey1/power1,addr2/power2,addr3/power3"

Isn't that the rule "val:pubkey1/power1,pubkey2/power2,pubkey3/power3"?

2、Operate failure
When I use app(PersistentKVStore) for operate validator set, need node pubkey which default use hex decode, but query validator pubkey by API (localhost:26657/validators) is base64 encode.

Read configure file(~/.tendermint/config/priv_validator_key.json) also use base64 encode.

When I want update validator voting power,but pubkey contains forward slash so that split result is wrong.
Example: curl -s 'localhost:26657/broadcast_tx_commit?tx="val:Vy3mgS0jodu/5zbs0dz99DYTgq/8vOHpFMsjxZSJtqw=/6"'

What you expected to happen:
Correct modify validator voting power and add validator by API.

Have you tried the latest version: yes/no
yes
How to reproduce it (as minimally and precisely as possible):

Logs (paste a small part showing an error (< 10 lines) or link a pastebin, gist, etc. containing more of the log file):

Config (you can paste only the changes you've made):

node command runtime flags:

/dump_consensus_state output for consensus bugs

Anything else we need to know:

My modify is "val:pubkey1!power1,pubkey2!power2,pubkey3!power3"

PR:#3641

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions