Skip to content

Commit

Permalink
Merge pull request cosmos#1716 from cosmos/master
Browse files Browse the repository at this point in the history
Master
  • Loading branch information
ebuchman authored Jul 17, 2018
2 parents 888aea4 + a959a57 commit 4c9c75a
Show file tree
Hide file tree
Showing 3 changed files with 5,704 additions and 16 deletions.
73 changes: 57 additions & 16 deletions cmd/gaia/testnets/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Connect to the `gaia-7000` Testnet
# Connect to the `gaia-7001` Testnet

_**NOTE:**_ We are aware this documentation is a work in progress. We are actively
working to improve the tooling and the documentation to make this process as painless as
Expand Down Expand Up @@ -62,6 +62,47 @@ moniker = "<your_custom_moniker>"

Your full node has been initialized!

## Upgrading From Previous Testnet

These instructions are for full nodes that have ran on previous testnets and
would like to upgrade to the latest testnet.

### Reset Data

First, remove the outdated files and reset the data.

```bash
rm $HOME/.gaiad/config/addrbook.json $HOME/.gaiad/config/genesis.json
gaiad unsafe_reset_all
```

Your node is now in a pristine state while keeping the original `priv_validator.json` and `config.toml`.
If you had any sentry nodes or full nodes setup before, your node will still try to connect to them,
but may fail if they haven't also been upgraded.

**WARNING:** Make sure that every node has a unique `priv_validator.json`.
Do not copy the `priv_validator.json` from an old node to multiple new nodes.
Running two nodes with the same `priv_validator.json` will cause you to double sign.

NOTE: key formats changed between gaia-6002 and gaia-7000. If you're trying to upgrade from gaia-6002,
you will also need to delete your `priv_validator.json`:

```
rm $HOME/.gaiad/config/priv_validator.json
```

### Software Upgrade

Now it is time to upgrade the software:

```bash
cd $GOPATH/src/github.com/cosmos/cosmos-sdk
git fetch --all && git checkout v0.22.0
make update_tools && make get_vendor_deps && make install
```

Your full node has been cleanly upgraded!

## Genesis & Seeds

### Copy the Genesis File
Expand All @@ -70,7 +111,7 @@ Fetch the testnet's `genesis.json` file and place it in `gaiad`'s config directo

```bash
mkdir -p $HOME/.gaiad/config
curl https://gist.githubusercontent.com/cwgoes/00dfd24c104fc3d704692f04adf4fd35/raw/1d5ee526d22e48ff6717b1b514dca02f8b14a932/gaia-7000-final.json > $HOME/.gaiad/config/genesis.json
curl https://gist.githubusercontent.com/cwgoes/311da6ba05be6e113185a716538a44c3/raw/7b6e784cf29761b5781488006313bd69d164aa6c/chris-final.json > $HOME/.gaiad/config/genesis.json
```

### Add Seed Nodes
Expand Down Expand Up @@ -188,7 +229,7 @@ gaiacli stake create-validator \
--pubkey=$(gaiad tendermint show_validator) \
--address-validator=<account_cosmosaccaddr>
--moniker="choose a moniker" \
--chain-id=gaia-7000 \
--chain-id=gaia-7001 \
--from=<key_name>
```

Expand All @@ -205,7 +246,7 @@ gaiacli stake edit-validator
--website="https://cosmos.network" \
--keybase-sig="6A0D65E29A4CBC8E"
--details="To infinity and beyond!"
--chain-id=gaia-7000 \
--chain-id=gaia-7001 \
--from=<key_name>
```

Expand All @@ -215,7 +256,7 @@ View the validator's information with this command:
```bash
gaiacli stake validator \
--address-validator=<account_cosmosaccaddr> \
--chain-id=gaia-7000
--chain-id=gaia-7001
```

Your validator is active if the following command returns anything:
Expand All @@ -230,7 +271,7 @@ You should also be able to see your validator on the [Explorer](https://explorec
### Problem #1: My validator has `voting_power: 0`

Your validator has become auto-unbonded. In `gaia-7000`, we unbond validators if they do not vote on `50` of the last `100` blocks. Since blocks are proposed every ~2 seconds, a validator unresponsive for ~100 seconds will become unbonded. This usually happens when your `gaiad` process crashes.
Your validator has become auto-unbonded. In `gaia-7001`, we unbond validators if they do not vote on `50` of the last `100` blocks. Since blocks are proposed every ~2 seconds, a validator unresponsive for ~100 seconds will become unbonded. This usually happens when your `gaiad` process crashes.

Here's how you can return the voting power back to your validator. First, if `gaiad` is not running, start it up again:

Expand All @@ -241,7 +282,7 @@ gaiad start
Wait for your full node to catch up to the latest block. Next, run the following command. Note that `<cosmosaccaddr>` is the address of your validator account, and `<name>` is the name of the validator account. You can find this info by running `gaiacli keys list`.

```bash
gaiacli stake unrevoke <cosmosaccaddr> --chain-id=gaia-7000 --from=<name>
gaiacli stake unrevoke <cosmosaccaddr> --chain-id=gaia-7001 --from=<name>
```

**WARNING:** If you don't wait for `gaiad` to sync before running `unrevoke`, you will receive an error message telling you your validator is still jailed.
Expand Down Expand Up @@ -291,7 +332,7 @@ gaiacli stake delegate \
--address-delegator=<account_cosmosaccaddr> \
--address-validator=<validator_cosmosaccaddr> \
--from=<key_name> \
--chain-id=gaia-7000
--chain-id=gaia-7001
```

While tokens are bonded, they are pooled with all the other bonded tokens in the network. Validators and delegators obtain a percentage of shares that equal their stake in this pool.
Expand All @@ -308,7 +349,7 @@ gaiacli stake unbond \
--address-validator=<validator_cosmosaccaddr> \
--shares=MAX \
--from=<key_name> \
--chain-id=gaia-7000
--chain-id=gaia-7001
```

You can check your balance and your stake delegation to see that the unbonding went through successfully.
Expand All @@ -319,7 +360,7 @@ gaiacli account <account_cosmosaccaddr>
gaiacli stake delegation \
--address-delegator=<account_cosmosaccaddr> \
--address-validator=<validator_cosmosaccaddr> \
--chain-id=gaia-7000
--chain-id=gaia-7001
```

## Governance
Expand Down Expand Up @@ -353,7 +394,7 @@ gaiacli gov submit-proposal \
--proposer=<account_cosmosaccaddr> \
--deposit=<40steak> \
--from=<name> \
--chain-id=gaia-7000
--chain-id=gaia-7001
```


Expand All @@ -367,7 +408,7 @@ gaiacli gov deposit \
--depositer=<account_cosmosaccaddr> \
--deposit=<200steak> \
--from=<name> \
--chain-id=gaia-7000
--chain-id=gaia-7001
```

> _NOTE_: Proposals that don't meet this requirement will be deleted after `MaxDepositPeriod` is reached.
Expand All @@ -379,7 +420,7 @@ Once created, you can now query information of the proposal:
```bash
gaiacli gov query-proposal \
--proposalID=<proposal_id> \
--chain-id=gaia-7000
--chain-id=gaia-7001
```

### Vote on a proposal
Expand All @@ -392,7 +433,7 @@ gaiacli gov vote \
--voter=<account_cosmosaccaddr> \
--option=<Yes/No/NoWithVeto/Abstain> \
--from=<name> \
--chain-id=gaia-7000
--chain-id=gaia-7001
```

#### Query vote
Expand All @@ -403,7 +444,7 @@ Check the vote with the option you just submitted:
gaiacli gov query-vote \
--proposalID=<proposal_id> \
--voter=<account_cosmosaccaddr> \
--chain-id=gaia-7000
--chain-id=gaia-7001
```

## Other Operations
Expand All @@ -413,7 +454,7 @@ gaiacli gov query-vote \
```bash
gaiacli send \
--amount=10faucetToken \
--chain-id=gaia-7000 \
--chain-id=gaia-7001 \
--from=<key_name> \
--to=<destination_cosmosaccaddr>
```
Expand Down
19 changes: 19 additions & 0 deletions cmd/gaia/testnets/STATUS.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
# TESTNET STATUS

## *July 17, 2018, 4:00 EST* - New Testnet Gaia-7001

- New testnet with fixes for the genesis file
- Increased max validators to 128

## *July 17, 2018, 3:00 EST* - Gaia-7000 consensus failure

- Misconfiguration in the genesis file led to a consensus failure
- New genesis file for gaia-7001 will be up soon

## *July 17, 2018, 2:40 EST* - Gaia-7000 is making blocks!

- Gaia-7000 is live and making blocks!

## *July 16, 2018, 17:00 EST* - New Testnet Gaia-7000

- Gaia-7000 is up!
- 108 validators in the genesis.json file.

## *July 2, 2018, 1:00 EST* - Gaia-6002 slashing failure

- Gaia-6002 has been halted due to a slashing issue.
Expand Down
Loading

0 comments on commit 4c9c75a

Please sign in to comment.