- Run a node
- Node configuration
Node Configuration (Optional)
By default, the
archwayd init command creates your ~/.archway directory with config and data subfolders. In the config directory, the most important files for configuration are app.toml and config.toml. You can further configure your node by editing these files.
The basic configurations are included in this document. For more details please review the app.toml and config.toml files.
Please note that a default configuration is applied by default. This section is optional and should only affect you if there are specific customizations you want to apply.
Adjusting the config.toml file of a node can help in optimizing performance, security, and reliability.
The config.toml file contains low-level configuration settings for the Archway node software, such as network, database, logging, and security settings. These settings are generally used to customize the behavior of the underlying software.
The various parts of the config.toml configuration file:
proxy_app = "<PROTOCOL>://<HOST_ADDRESS>:<PORT>"
proxy_app is the TCP or UNIX socket address of the ABCI application, or the name of an ABCI application compiled in with the binary.
moniker = "<A_CUSTOM_NAME>"
moniker is a custom human-readable name for the node. Make sure that the moniker is unique and descriptive.
genesis_file = "<PATH_TO_GENESIS_FILE>"
The genesis_file is a JSON file that defines the initial state of the blockchain network.
priv_validator_key_file = "<PATH_TO_VALIDATOR_PRIVATE_KEY>"
This priv_validator_key_file file is used by the validator node to sign and verify blocks in order for the validator to participate in consensus.
[p2p]laddr = "tcp://<IP_ADDRESS>:<PORT>"
laddr is the address to listen for incoming connections in the peer-to-peer network.
Additional paramteres you may want to configure include:
- Making sure that the external_address is reachable and coherent to your desired network topology to avoid DoS attacks.
- Connection limits: The max_open_connections setting in the config.toml file of the sentry node can be used to limit the number of incoming connections. This can help prevent the node from being overloaded with connections and reduce the risk of a DoS attack. On the other hand, higher max_open_connections can improve network connectivity.
- Adjust the timeout_commit setting: This setting determines how long your validator node will wait for other validators to commit a block before considering the block final. Adjusting this value can help optimize block confirmation times.
- Review the mempool_cache_size and max_txs_bytes settings: These settings determine the maximum size of the mempool cache and transactions, respectively. Make sure that these values are appropriate for your network's transaction volume.
- Consider setting the log_level setting to an appropriate value: This setting determines the level of logging output that your node will generate. Setting this to a lower level can help reduce disk space usage.
The app.toml file, contains configuration settings that are specific to the Archway blockchain. These settings are used to configure the behavior of the Cosmos SDK modules that the node runs, such as the staking module, governance module, and so on.
The various parts of the app.toml configuration file:
[api]address = "tcp://<HOST_NAME>:<PORT>"
where address defines the API server to listen on.
[grpc]address = "tcp://<HOST_NAME>:<PORT>"
where address defines the gRPC server address to bind to.
Please make sure you are fully aware of the changes you are applying. Depending on your needs, you may want to modify the following fields:
- Consider setting the fast_sync setting to true: This setting can help your node perform a fast initial sync of the blockchain.
- Set up the peer-gossip-timeout: This setting determines how long the node will wait for responses from other nodes on the network. If a node does not respond within this timeout period, it will be considered unreachable.
- Configure the index-events: This setting determines which events will be indexed by the node. By default, only a few key events are indexed, but it may be useful to index additional events depending on the needs of the network.
You are ready to go! Now you can join a network.