github.com/hyperledger/burrow@v0.34.5-0.20220512172541-77f09336001d/docs/tutorials/5-bonding.md (about)

     1  # Bonding
     2  
     3  We can't always expect our validator set to remain the same. New participants, not established at network
     4  formation, may wish to participate at any time.
     5  
     6  ## Getting Started
     7  
     8  We need at least one validator to start the chain, so run the following to construct 
     9  a genesis of two accounts with the `Bond` permission, one of which is pre-bonded:
    10  
    11  ```shell
    12  burrow spec -v1 -r1 | burrow configure -s- --pool
    13  ```
    14  
    15  Let's start both nodes:
    16  
    17  ```shell
    18  burrow start --config burrow000.toml &
    19  burrow start --config burrow001.toml &
    20  ```
    21  
    22  Query the JSON RPC for all validators in the active set:
    23  
    24  ```shell
    25  curl -s "localhost:26758/validators"
    26  ```
    27  
    28  This will return the pre-bonded validator, defined in our pool.
    29  
    30  ## Joining
    31  
    32  To have the second node bond on and produce blocks:
    33  
    34  ```shell
    35  burrow tx --config burrow001.toml formulate bond --amount 10000 | burrow tx commit
    36  ```
    37  
    38  Note that this will bond the current account, to bond an alternate account (which is created if it doesn't exist)
    39  simply specific the `--source=<address>` flag in formulation:
    40  
    41  ```shell
    42  burrow tx --config burrow001.toml formulate bond --source 8A468CC3A28A6E84ED52E433DA21D6E9ED7C1577 --amount 10000
    43  ```
    44  
    45  It should now be in the validator set:
    46  
    47  ```shell
    48  curl -s "localhost:26759/validators"
    49  ```
    50  
    51  ## Leaving
    52  
    53  To unbond this validator:
    54  
    55  ```shell
    56  burrow tx formulate unbond | burrow tx commit
    57  ```