---
description: >-
  Refer to this guide for instructions on becoming a part of an existing network
  using statesync
---

# Join Network

&#x20; For a swift setup of a new full node and seamless network integration, it's advisable to synchronize via state sync.

## Install Rapidd Binary

&#x20; To initialize a Rapid node, the initial action involves downloading and installing the "rapidd" software onto your system.&#x20;

You can access the source code at [https://github.com/RapidChainIO/rapid-chain.git](https://github.com/RapidChainIO/rapid-chain.git)

&#x20;Ensure that you select and install the identical version as the chain you intend to become a part of.

```bash
export CHAIN_ID="rapid_1973-1"
export MONIKER="replace-with-your-moniker-name"
git clone https://github.com/RapidChainIO/Rapid-Chain.git
cd rapid-chain
make install
rapidd init --chain-id "$CHAIN_ID" "$MONIKER"
```

## State Sync

&#x20;     State sync enables a fresh node to connect to a network by retrieving a snapshot of the application state at a recent block height, rather than fetching and processing all historical blocks. This approach can significantly reduce the synchronization time from days to mere minutes.

* Install Binary&#x20;

&#x20;    We need to install the binary first and make sure that the version is the one currently in use on testnet.

* Enable State Sync

&#x20;    We can configure Tendermint to use state sync in $DAEMON\_HOME/config/config.toml.

```bash
[state-sync]
enable = true
rpc_servers = "https://cosmos-rpc.rapidrpc.com"
trust_height = 0 
trust_hash = ""
# 2/3 of unbonding time
trust_period = "168h"
```

* &#x20;Start the daemon: `rapidd start`\
  If you are resetting node, run `rapidd unsafe-reset-all` or `rapidd tendermint unsafe-reset-all --home ~/.HOME` before you start the daemon.\


### Enable Snapshot For State Sync

\
To make state sync works, we can enable snapshot in $DAEMON\_HOME/config/app.toml

```bash
[state-sync]
# snapshot-interval specifies the block interval at which local state sync snapshots are
# taken (0 to disable). Must be a multiple of pruning-keep-every.
snapshot-interval = 1000
# snapshot-keep-recent specifies the number of recent snapshots to keep and serve (0 to keep all). Each snapshot is about 500MiB
snapshot-keep-recent = 2
```

