Files
tendermint/docs/nodes/state-sync.md
2021-01-26 19:48:44 +01:00

43 lines
1.7 KiB
Markdown

---
order: 5
---
# Configure State-Sync
State sync will continuously work in the background to supply nodes with chunked data when bootstrapping.
> NOTE: Before trying to use state sync, see if the application you are operating a node for supports it.
Under the state sync section in `config.toml` you will find multiple settings that need to be configured in order for your node to use state sync.
Lets breakdown the settings:
- `enable`: Enable is to inform the node that you will be using state sync to bootstrap your node.
- `rpc_servers`: RPC servers are needed because state sync utilizes the light client for verification.
- 2 servers are required, more is always helpful.
- `temp_dir`: Temporary directory is store the chunks in the machines local storage, If nothing is set it will create a directory in `/tmp`
The next information you will need to acquire it through publicly exposed RPC's or a block explorer which you trust.
- `trust_height`: Trusted height defines at which height your node should trust the chain.
- `trust_hash`: Trusted hash is the hash in the `BlockID` corresponding to the trusted height.
- `trust_period`: Trust period is the period in which headers can be verified.
> :warning: This value should be significantly smaller than the unbonding period.
If you are relying on publicly exposed RPC's to get the need information, you can use `curl`.
Example:
```bash
curl -s https://233.123.0.140:26657/commit | jq "{height: .result.signed_header.header.height, hash: .result.signed_header.commit.block_id.hash}"
```
The response will be:
```json
{
"height": "273",
"hash": "188F4F36CBCD2C91B57509BBF231C777E79B52EE3E0D90D06B1A25EB16E6E23D"
}
```