* Update docs/sdk/clients.md * organize ADR directory like tendermint * docs: move spec-proposals into spec/ * remove lotion, moved to website repo * move getting-started to cosmos-hub, and voyager to website * docs: move lite/ into clients/lite/ * move introduction/ content to website repo * move resources/ content to website repo * mv sdk/clients.md to clients/clients.md * mv validators to cosmos-hub/validators * move deprecated sdk/ content to _attic * sdk/modules.md is duplicate with modules/README.md * consolidate remianing sdk/ files into a single sdk.md * move examples/ to docs/examples/ * mv docs/cosmos-hub to docs/gaia * Add keys/accounts section to localnet docs
45 lines
1.5 KiB
Markdown
45 lines
1.5 KiB
Markdown
# Running a Node
|
|
|
|
> TODO: Improve documentation of `gaiad`
|
|
|
|
|
|
## Basics
|
|
|
|
To start a node:
|
|
|
|
```shell
|
|
$ gaiad start <flags>
|
|
```
|
|
|
|
Options for running the `gaiad` binary are effectively the same as for `tendermint`.
|
|
See `gaiad --help` and the
|
|
[guide to using Tendermint](https://github.com/tendermint/tendermint/blob/master/docs/using-tendermint.md)
|
|
for more details.
|
|
|
|
## Debugging
|
|
|
|
Optionally, you can run `gaiad` with `--trace-store` to trace all store operations
|
|
to a specified file.
|
|
|
|
```shell
|
|
$ gaiad start <flags> --trace-store=/path/to/trace.out
|
|
```
|
|
|
|
Key/value pairs will be base64 encoded. Additionally, the block number and any
|
|
correlated transaction hash will be included as metadata.
|
|
|
|
e.g.
|
|
```json
|
|
...
|
|
{"operation":"write","key":"ATW6Bu997eeuUeRBwv1EPGvXRfPR","value":"BggEEBYgFg==","metadata":{"blockHeight":12,"txHash":"5AAC197EC45E6C5DE0798C4A4E2F54BBB695CA9E"}}
|
|
{"operation":"write","key":"AjW6Bu997eeuUeRBwv1EPGvXRfPRCgAAAAAAAAA=","value":"AQE=","metadata":{"blockHeight":12,"txHash":"5AAC197EC45E6C5DE0798C4A4E2F54BBB695CA9E"}}
|
|
{"operation":"read","key":"ATW6Bu997eeuUeRBwv1EPGvXRfPR","value":"BggEEBYgFg==","metadata":{"blockHeight":13}}
|
|
{"operation":"read","key":"AjW6Bu997eeuUeRBwv1EPGvXRfPRCwAAAAAAAAA=","value":"","metadata":{"blockHeight":13}}
|
|
...
|
|
```
|
|
|
|
You can then query for the various traced operations using a tool like [jq](https://github.com/stedolan/jq).
|
|
|
|
```shell
|
|
$ jq -s '.[] | select((.key=="ATW6Bu997eeuUeRBwv1EPGvXRfPR") and .metadata.blockHeight==14)' /path/to/trace.out
|
|
``` |