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

Updates Service Provider Guide #826

Merged
merged 17 commits into from
Apr 27, 2021
Merged

Updates Service Provider Guide #826

merged 17 commits into from
Apr 27, 2021

Conversation

toschdev
Copy link
Contributor

@toschdev toschdev commented Apr 21, 2021

Closes: #824

Description

/docs/gaia-tutorials/installation.md
/docs/gaia-tutorials/join-mainnet.md
/docs/resources/service-providers.md


For contributor use:

  • Targeted PR against correct branch (see CONTRIBUTING.md)
  • Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
  • Code follows the module structure standards.
  • Wrote unit and integration tests
  • Updated relevant documentation (docs/) or specification (x/<module>/spec/)
  • Added relevant godoc comments.
  • Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
  • Re-reviewed Files changed in the Github PR explorer

For admin use:

  • Added appropriate labels to PR (ex. WIP, R4R, docs, etc)
  • Reviewers assigned
  • Squashed all commits, uses message "Merge pull request #XYZ: [title]" (coding standards)

@toschdev toschdev added WIP scope: docs Improvements or additions to documentation labels Apr 21, 2021
@@ -208,8 +245,4 @@ invariant broken:
```

When submitting a invariant-broken transaction, transaction fee tokens are not
deducted as the blockchain will halt (aka. this is a free transaction).

## Upgrade to Validator Node
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The Full Node setup should be providing the setup how to create a Full Node.
Opening REST API, GRPC and remote access are all suggestions that are not for a validator node, which should have different security setups. Therefore upgrading an open Full Node to a Validator Node should not be emphasized in this setup.

@toschdev toschdev removed the WIP label Apr 26, 2021
@toschdev toschdev marked this pull request as ready for review April 26, 2021 08:55
@alessio
Copy link
Contributor

alessio commented Apr 26, 2021

Looks good to me!

@zmanian
Copy link
Member

zmanian commented Apr 26, 2021

Some gaps I see here.

  • We should provide some guidance on enabling state sync. What should the settings be on both existing nodes and on full node?
  • It seems like we are recommending prune everything but generally default is the best setting for most people.
  • we are recommending polling the rest api for balance changes but the web socket and event system is workable but the query syntax confuses people and this is a good place to have an example query.

@zmanian
Copy link
Member

zmanian commented Apr 26, 2021

Happy to merge this and improve it later with the above

@toschdev
Copy link
Contributor Author

Thanks for the suggestions @zmanian
I am planning to add an own section for state sync but not in this PR

Good hint for the websocket, I will add an example. I agree, that merging now and adding more info later would be best right now, since I know a few parties waiting for these changes already.

Copy link

@barriebyron barriebyron left a comment

Choose a reason for hiding this comment

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

tiny contributions for grammar, thank you for doing this work, I am always learning.

docs/gaia-tutorials/installation.md Outdated Show resolved Hide resolved
docs/gaia-tutorials/installation.md Outdated Show resolved Hide resolved
docs/gaia-tutorials/join-mainnet.md Outdated Show resolved Hide resolved
docs/gaia-tutorials/installation.md Outdated Show resolved Hide resolved
docs/gaia-tutorials/join-mainnet.md Outdated Show resolved Hide resolved
docs/resources/service-providers.md Outdated Show resolved Hide resolved
docs/resources/service-providers.md Outdated Show resolved Hide resolved
docs/resources/service-providers.md Outdated Show resolved Hide resolved
docs/resources/service-providers.md Outdated Show resolved Hide resolved
docs/resources/service-providers.md Outdated Show resolved Hide resolved
Co-authored-by: Barrie Byron <barrie.byron@tendermint.com>
@toschdev
Copy link
Contributor Author

Thanks so much @barriebyron for the review 🙏

@toschdev toschdev requested a review from barriebyron April 26, 2021 19:05
Copy link
Contributor

@shahankhatch shahankhatch left a comment

Choose a reason for hiding this comment

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

This is wonderful @toschdev. Thanks @barriebyron and @zmanian for comments too.

@@ -21,7 +21,7 @@ source ~/.bash_profile
```

::: tip
**Go 1.15+** is required for the Cosmos SDK.
**Go 1.16+** or later is required for the Cosmos SDK.
Copy link
Contributor

Choose a reason for hiding this comment

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

Gaia is still on 1.15 until 1.16 is properly integrated into actions and tests

build_tags: netgo,ledger
go: go version go1.12.5 darwin/amd64
go: go version go1.16 darwin/amd64
Copy link
Contributor

Choose a reason for hiding this comment

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

Same comment as before, we are on go1.15


minimum-gas-prices = ""
minimum-gas-prices = "0.025uatom"
Copy link
Contributor

Choose a reason for hiding this comment

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

I suggest matching what's written as the example's text, e.g., is "10uatom" written as "10utom"? Is 0.025uatom the official recommendation? If there's an official standard, perhaps a link could be helpful.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, it's actually in the same document a few lines below

End of chapter a note on gas and fees. So I thought let's make it even more clear. Having no input is actually dangerous (because of transaction flood) - so let's add it to the code snipped directly.
https://github.com/cosmos/gaia/blob/main/docs/gaia-tutorials/join-mainnet.md#a-note-on-gas-and-fees

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Speaking about this, we could consider making this default into the bootstrapped app.toml file.


By default every node is in `PruneSyncable` mode. If you would like to change your nodes pruning strategy then you must do so when the node is initialized. For example, if you would like to change your node to the `PruneEverything` mode then you can pass the `---pruning everything` flag when you call `gaiad start`.
By default every node is in `default` mode. This is the recommended setting for most environments.
If you would like to change your nodes pruning strategy then you must do so when the node is initialized. Passing a flag when starting `gaia` will always override settings in the `app.toml` file, if you would like to change your node to the `everything` mode then you can pass the `---pruning everything` flag when you call `gaiad start`.
Copy link
Contributor

Choose a reason for hiding this comment

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

Re: only when the node is initialized. Do you mean when the node is started? Or after initialization i.e., gaiad init, sets the mode in stone? Does the command line argument then modify the behaviour after it's started the first time?


By default every node is in `PruneSyncable` mode. If you would like to change your nodes pruning strategy then you must do so when the node is initialized. For example, if you would like to change your node to the `PruneEverything` mode then you can pass the `---pruning everything` flag when you call `gaiad start`.
By default every node is in `default` mode. This is the recommended setting for most environments.
If you would like to change your nodes pruning strategy then you must do so when the node is initialized. Passing a flag when starting `gaia` will always override settings in the `app.toml` file, if you would like to change your node to the `everything` mode then you can pass the `---pruning everything` flag when you call `gaiad start`.

> Note: When you are pruning state you will not be able to query the heights that are not in your store.
Copy link
Contributor

Choose a reason for hiding this comment

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

I believe that it is possible but only by specifying a node target that has a different pruning strategy.

@@ -4,79 +4,194 @@ order: 5

# Service Providers

We define 'service providers' as entities providing services for end-users that involve some form of interaction with a Cosmos-SDK based blockchain (this includes the Cosmos Hub). More specifically, this document will be focused around interactions with tokens.
'Service Providers' are defined as entities that provide services for end-users that involve some form of interaction with the Cosmos Hub. More specifically, this document is focused on interactions with tokens.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggest adding, "for example, exchanges".


We will describe the steps to run and interact with a full-node for the Cosmos Hub. For other SDK-based blockchain, the process should be similar.
- Full Nodes: Interact with the blockchain.
- REST Server: Serve as a relayer for HTTP calls.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggest changing the term relayer as it overlaps with IBC's relayer terminology.


When choosing to remote access a Full Node and gaiad, you need a Full Node running and gaia installed on your local machine.

`gaiad` is the tool that enables you to interact with the node that runs on the Cosmos Hub network, whether you run it yourself or not.
Copy link
Contributor

Choose a reason for hiding this comment

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

This line could be moved earlier.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

how far earlier do you have in mind? Beginning of this chapter or even at the start of the whole article?

@toschdev toschdev merged commit 5b3c805 into main Apr 27, 2021
@toschdev toschdev deleted the service-provider-guide branch April 27, 2021 08:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope: docs Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Service Provider documentation is out of date
5 participants