This issue tracks the various tasks (in order) which need to be completed in order to implement `upsert-validator` i.e. [BEP-21](https://github.com/bigchaindb/BEPs/tree/master/21). - [x] Implement [`VALIDATOR_ELECTION` spec](https://github.com/bigchaindb/BEPs/blob/master/21/transaction_validator_election_v2.0.yaml). See PR #2392 - [x] Implement [`VALIDATOR_VOTE` spec](https://github.com/bigchaindb/BEPs/blob/master/21/transaction_validator_election_vote_v2.0.yaml) See PR #2428 - [x] Track validator set in BigchainDB #2436 - [x] Implement `upsert-validator` transaction election process. See PR ~~#2314~~ #2445 - [x] Implement `upsert-validator new E_PUBKEY E_POWER E_NODE_ID` See PR #2446 - [x] Implement `upsert-validator show <election_id>` #2457 - [x] Implement `upsert-validator approve <election_id>` #2458 - ~~Implement `upsert-validator status <election_id>`~~ - [x] Add required tests for `upsert-validator new` #2460 - [x] Update corresponding documentation, including the section titled [Member: Dynamically Add a New Member to the Network](http://docs.bigchaindb.com/projects/server/en/master/simple-deployment-template/network-setup.html#member-dynamically-add-a-new-member-to-the-network) --- See pull request https://github.com/bigchaindb/bigchaindb/pull/2570 - [x] Update BEP-18 to reflect what was _actually_ implemented - [x] Update BEP-21 to reflect what was _actually_ implemented https://github.com/bigchaindb/BEPs/pull/80 - [x] Update BEP-13 to reflect what was _actually_ implemented https://github.com/bigchaindb/BEPs/pull/90 - [x] standardize public key format i.e. Tendermint encodes keys in base64 format when generating configs but during `end_block` it expects the public key to be base58 encoded. #2480 #2508 - [x] remove experimental tag from documentation of upsert-validator
This issue tracks the various tasks (in order) which need to be completed in order to implement
upsert-validatori.e. BEP-21.VALIDATOR_ELECTIONspec. See PR Problem: (BEP-21) no way to propose validator election #2392VALIDATOR_VOTEspec See PR Problem: Node operator cannot vote on a ValidatorElection #2428upsert-validatortransaction election process. See PRProblem: upsert-validator feature is error prone #2314Problem: Cannot conclude validator election #2445upsert-validator new E_PUBKEY E_POWER E_NODE_IDSee PR Create dynamic upsert validator commands #2446upsert-validator show <election_id>Create dynamic upsert validator commands #2457upsert-validator approve <election_id>Problem: There is no way to vote for an election #2458Implementupsert-validator status <election_id>upsert-validator newNo ABCI test for 'upsert-validator new' command #2460end_blockit expects the public key to be base58 encoded. Problem: Upsert validator 'approve' command not transfering vote to election public key #2480 Problem: Public key format not standardized #2508