-
Notifications
You must be signed in to change notification settings - Fork 3.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Genesis Validators bonding status showing Unbond after starting a new chain #1666
Comments
Interesting, thanks for the catch - could you outline the exact commands you used to reproduce this bug? That would be very useful |
First, I create the genesis file as usual by doing init gen-tx and init --gen-txs, then start the chain.
Then do the following will catch the bugs:
|
Thanks @sherry13131 I'll debug this one v soon |
Either a UX bug or something more problematic: RE: Bucky
Here is the outputs:
Cant unrevoke:
But validator seems to be signing blocks:
|
Looks like delegating more steak fixes the UI:
|
thanks @jinghiskwon looks related |
WOW interesting edge case - turns out that you CAN create duplicate records in the power store due to a bug in staking genesis. Basically what I understand is happening is that multiple validators with the same initial voting power are set to be added in the genesis - because the intra-tx counter is not set during genesis (aka left at 0 default) there is nothing to distinguish the key for the power store, so only one record gets added to the power-store, and only one record is looped through when updating the full validator set. The solution is to add an intra-tx counter for the validators being included at genesis, which mean that validators located earlier on in the genesis file will be given preference if they have identical voting power to another genesis validator. As far as I can tell this is the only genesis bug which would make a validator not-bonded, symptoms seem to match up. Seems to fix the problem when I replicated in a local testnet should be resolved in #1724 |
I tried to run my chain with cosmos v0.20.0, and I found out the validators (genesis) shows the bonding status as Unbonded, except one of the validators. In my case, I have 4 validators and only the last validator (the owner with account number 3) showing Bonded.
All of them definitely are bonded since they have voting power, and their votes are showing on the log as well. When I tried to revoke and unrevoke one of those validators which shown Unbonded, it shows Bonded as expected. Also, when someone delegate to those validators, it will show Unbonded to Bonded too. There is no problem on the bonding status for a full node to become a validator.
The text was updated successfully, but these errors were encountered: