Skip to content
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

testnet readme usability overhaul #1212

Merged
merged 2 commits into from
Jun 13, 2018
Merged

Conversation

nylira
Copy link
Contributor

@nylira nylira commented Jun 12, 2018

  • removed redundant validator section
  • cleanly separated the new node and upgrade to new testnet sections
  • remove the OS-specific GOPATH section. The official go docs already explains this step to the user, let's not make them do it twice.
  • removed entire wget section, we don't use wget anymore
  • added link to cosmos explorer
  • a large amount of spelling and grammar improvements
  • removed lots of redundant text, including mentions to validator candidate.
  • We don't need the --sequence flag anymore in gaiacli, that number is auto-incremented.
  • add note about the error when querying an empty account
  • fixed an error where the flag --address-candidate should be --address-validator
  • The faucet worked for gaia-6001 until the halt in consensus, so let's link to it because it will be ready for gaia-6002.

@codecov
Copy link

codecov bot commented Jun 12, 2018

Codecov Report

Merging #1212 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1212   +/-   ##
=======================================
  Coverage   60.87%   60.87%           
=======================================
  Files          89       89           
  Lines        4368     4368           
=======================================
  Hits         2659     2659           
  Misses       1539     1539           
  Partials      170      170

@nylira nylira changed the title testnet readme - add link to official faucet, remove sequence from cmds testnet readme usability overhaul Jun 12, 2018
Copy link
Contributor

@ValarDragon ValarDragon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job, These changes make it way better!
I added a few minor suggestions.

The last step is the adjust the `$HOME/.gaiad/config/config.toml`. Make sure that you are connected to healthy peers or seed nodes.
These are some seeds nodes and they can be put into the config under the `seeds` key. Alternatively you can also
ask user validators directly for a persistent peer and add it under the `persisent_peers` key.
The last step is to update the `$HOME/.gaiad/config/config.toml`. Make sure that you are connected to healthy peers or seed nodes. These are some seeds nodes and they can be put into the config under the `seeds` key. You can also ask other validators for a persistent peer and add it under the `persisent_peers` key.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd recommend adding "See here" for more info on seed nodes and persistent peers. (Just to give people knowledge that more docs exist)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will add this!


```
MYADDR=<your_newly_generated_address>
MYPUBKEY=<your_newly_generated_public_key>
```

**IMPORTANT:** We strongly recommend to **NOT** use the same passphrase for your different keys. The Tendermint team and the Interchain Foundation will not be responsible for the lost of funds.
**IMPORTANT:** We strongly recommend **NOT** using the same passphrase for all your keys. The Tendermint team and the Interchain Foundation will not be responsible for the loss of funds.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor nitpick, but perhaps "multiple keys" would be better suited than "all your keys"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we add an example of address? since we change it to bech32 encode. it will look so different


The best way to get coins at the moment is to ask in Riot chat. We plan to have a reliable faucet in future testnets.
The best way to get tokens is from the [Cosmos Testnet Faucet](https://faucetcosmos.network). If the faucet is not working for you, try asking [#cosmos-validators](https://riot.im/app/#/room/#cosmos-validators:matrix.org).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

May also want to add, "if you were a validator on previous testnets, you can submit a PR to add yourself to the next genesis file, no guarantees that it will get accepted though. We're currently working on tooling to make this more easy."

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section is being added by Zaki's PR here: #1211

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool! Didn't see that


The `--sequence` flag corresponds to the sequence number to sign the tx.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is still valuable to show that sequence numbers are a thing. Just add a line afterwards saying that if the sequence flag is omitted, it will auto-increment.

Copy link
Contributor Author

@nylira nylira Jun 12, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From a usability standpoint, this readme is not documentation for gaiacli. My goal with these changes is to simplify onboarding for full nodes and validators. From what I can tell, the --sequence is no longer required for any command, so it's best to omit it. That's one less feature users have to worry about so they can focus on other things.

We should have comprehensive gaiacli and gaiad docs in another file (that covers the sequence flag).

Follow these instructions to install the Cosmos-SDK and connect to the latest Testnet. This instructions work for both a local machine and a VM in a cloud server.

If you want to run a non-validator full-node, installing the SDK on a Cloud server is a good option. However, if you are want to become a validator for the Hub's `mainnet` you should look at more complex setups, including [Sentry Node Architecture](https://github.com/cosmos/cosmos/blob/master/VALIDATORS_FAQ.md#how-can-validators-protect-themselves-from-denial-of-service-attacks), to protect your node from DDOS and ensure high-availability (see the [technical requirements](https://github.com/cosmos/cosmos/blob/master/VALIDATORS_FAQ.md#technical-requirements)). You can find more information on validators in our [website](https://cosmos.network/validators), in the [Validator FAQ](https://cosmos.network/resources/validator-faq) and in the [Validator Chat](https://riot.im/app/#/room/#cosmos_validators:matrix.org).
## Installing Software

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You may want to consider linking to https://github.com/cosmos/cosmos-sdk/blob/rigel/spec-staking/docs/guides/sdk/install.md for how to install / or link to the ubuntu/bsd installation scripts provided in that link, since those are the easiest way for people to get started. (To reduce the amount of documentation duplication)

Copy link
Contributor

@kwunyeung kwunyeung left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest to have panic error message mentioned.


```
gaiacli keys show <your_key_name>
```

You can see all your other available keys by typing:
You can see all your available keys by typing:

```
gaiacli keys list
```

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Usually, newly joining validators would query their accounts right after they create the key and they all ask about the panic error message. Better add this and let them have expectation on seeing this rather than keep asking every time.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The panic is fixed in the latest version of gaiad!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh sorry. Didn't notice this.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just tried and it becomes an error message.

Would it be still good to put the error message in? I think most users don't know what's happening with this.

ERROR: Error{1:9,--= Error =--
Message: No account with address cosmosaccaddr14c830n7ew3awdk4n770j9ckw3x4dlj6nwfd0ne was found in the state.
Are you sure there has been a transaction involving it?
Cause: <nil>
T: 0x9
Msg Traces:
--= /Error =--
}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I'll put a section of that error message in the readme

gaiacli account <your_newly_generated_address>
```

Note: If you query your account before any tokens have been sent to it, you will see a `panic` error. This error is expected! We are working on improving error messages.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But this is fixed in the current version. (v0.18.0 has the fix)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah ok! Good to know.


```
gaiacli status
```

## Generate keys
View the status of the network with the [Cosmos Explorer](https://explorecosmos.network).Once your full node syncs up to the current block height, you should see it appear on the [list of full nodes](https://explorecosmos.network/validators).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thinks it's hard to see your node in this explorer because the number of connections is limited

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noted!

add link to official faucet, remove sequence from cmds

readme improvements

wording improvements and simplifications

add link to cosmos explorer

remove instances of candidate

add apostrophe

small fixes

improve the installing software section

fixes based on feedback

add note about querying an empty account

remove panic note

update introduction

add full cp path for copying genesis.json

update moniker warning

remove redundant sections

add error message when querying empty account

don't need a link to golang.org

link to sections, better section names

fix section link

reorganize sections

add h3s

remove & symbol

add whitespace

update h3 to h2

add note about explorer not connecting to every node
@nylira nylira force-pushed the peng/add-faucet-rm-sequence branch from 3b44f97 to 3b9cb49 Compare June 12, 2018 08:54

```
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
go get github.com/cosmos/cosmos-sdk
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some users have reported that go doesn't checkout the directory/deletes it b/c of the lack buildable top level go files.

Haven't really reproduced this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've experienced something similar before. go get does checkout the directory and clones all the files, it just gives you a warning that there are no top level go files in that repo.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should stop suggesting go get ever and just always do the full mkdir and git clone

Copy link
Member

@ebuchman ebuchman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, thanks - I'll pick up my comments and merge


```
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
go get github.com/cosmos/cosmos-sdk
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should stop suggesting go get ever and just always do the full mkdir and git clone

```

## Full Node Setup
Your node is now in a pristine state while keeping the original `priv_validator.json`. If you had any sentry nodes or full nodes setup before, they should continue to work.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this preserves the config. the seeds/persistent-peers in the config will also need to upgrade if we're going to be able to connect with them


You can delegate \(_i.e._ bind\) **Atoms** to a validator to become a [delegator](https://cosmos.network/resources/delegators) and obtain a part of its fee revenue in **Photons**. For more information about the Cosmos Token Model, refer to our [whitepaper](https://github.com/cosmos/cosmos/raw/master/Cosmos_Token_Model.pdf).
On the upcoming mainnet, you can delegate `atom` to a validator. These [delegators](https://cosmos.network/resources/delegators) can receive part of the validator's fee revenue in `photon`. Read more more about the [Cosmos Token Model](https://github.com/cosmos/cosmos/raw/master/Cosmos_Token_Model.pdf).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"fee revenue". no need to mention photon

@ebuchman ebuchman merged commit 8e2a317 into master Jun 13, 2018
@ebuchman ebuchman deleted the peng/add-faucet-rm-sequence branch June 13, 2018 04:05
chillyvee pushed a commit to chillyvee/cosmos-sdk that referenced this pull request Mar 1, 2024
* Update joining testnet docs

* Fix script errors

* Fix unverified commit

* Make requested changes

* Update peer & rpc values to point to testnet docs

* Update testnet repo link

* Make requested changes

* Fix instructions

* Update vega upgrade info

Co-authored-by: billy rennekamp <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants