Node Daemon Configuration
This section provides configuration options available for Inery node deamon.
The core component responsible for running Inery DLS protocol.
Configurations are easy for developers and network administrators to configure custom Node for various use cases.
Make sure the Node is set up on your server or machine and you have terminal access.
Nodine Setup
Nodine is the core service that powers Inery DLS Node. Responsible for maintaining the database, validating transactions, and provide API endpoints. Serves as the backbone for the network by ensuring consensus and facilitating communication between nodes.
Start.sh Script
The start.sh
script helps automate the process of starting Inery Node.
Inery Node deamon nodine
parameters can be configured in start.sh script.
Below is a basic version of the script:
#!/bin/bash
# Define paths
CONFIG_DIR="./config"
DATA_DIR="./data"
# Start the nodine process with the necessary parameters
nodine \
--data-dir $DATA_DIR \
--config-dir $CONFIG_DIR \
## Append Custom configuration here
>> /nodine.log 2>&1 &
# Check if the process started successfully
if [ $? -eq 0 ]; then
echo "Node started successfully."
else
echo "An error occurred while starting nodine."
fi
--data-dir
and --congi-dir
are example of configuration flags.
Additional configurations can be appended below nodine \
and above >> ./nodine.log 2>&1 &
line.
Config.ini File
config.ini
located in ./blockchain/config
, the config directory specified in your start.sh
script.
Modify the parameters to fit your needs.
Run the stop.sh
then start.sh
script again to apply the change
Configuration Parameters
Network Configuration
These parameters control how your node interacts with the network and peers.
Configuration Flags:
http-server-address
: Defines the address and port for the node’s HTTP server.p2p-listen-endpoint
: Specifies the endpoint used for peer-to-peer communication.p2p-peer-address
: Adds peers for connection (can be specified multiple times)p2p-max-nodes-per-host
: Limits the number of connections from the same host.
Example
start.sh
Example Valueshttp-server-address = 0.0.0.0:8888 \
p2p-listen-endpoint = 0.0.0.0:9010 \
p2p-peer-address = peer1.example.com:9010 \
p2p-peer-address = peer2.example.com:9010 \
p2p-max-nodes-per-host = 5 \
If your node is part of a public blockchain network, you need to connect to other nodes to sync data.
The p2p-peer-address flags allow you to specify those connections.
Ledger's State and Blockchain Configuration
These flags define how your node interacts with the Ledger's state and consensus.
Configuration Flags:
genesis-json
: Points to the genesis block file used to initialize the blockchain.enable-stale-production
: Allows block production even if the chain is not receiving blocks from other masters.master-name
: Sets the name of the block master.signature-provider
: Configures the keys used for signing blocks.
start.sh
Example Values--genesis-json = "./genesis.json" \
--enable-stale-production = true \
--master-name = "yourmastername" \
--signature-provider = INE5MRyAjQq8ud7hVNYcfnVPJqcVpscN5SoGhP5BGbHhX8dr4uEY=KEY:5KQwrPbwdL6PhXujxW37FSSQh4roWQmRskkZWHPgwsZ6Vo7hsKr \
Use these flags if you are running a block master node. Ensure that the signature-provider contains your private key for signing. 3. Plugins and APIs
Additional Plugins
These plugins are essential for different node roles.
Configuration Flags:
inery::chain_api_plugin
: Enables the Chain API to query Ledger Database.inery::history_api_plugin
: Provides historical data through APIs.inery::state_history_plugin
: Enables state history logging for enhanced analytics.inery::master_plugin
: Activates block production.
start.sh
Example Values--plugin = inery::chain_api_plugin \
--plugin = inery::history_api_plugin \
--plugin = inery::state_history_plugin \
--plugin = inery::master_plugin \
State History and Monitoring
Enable these parameters if you need to monitor transactions or state changes over time, useful for analytics or blockchain explorers.
Configuration Flags:
trace-history
: Enables recording of transaction traces.chain-state-history
: Tracks the state of the blockchain.state-history-endpoint
: Specifies the endpoint for state history queries.
start.sh
Example Values--trace-history = true \
--chain-state-history = true \
--state-history-endpoint = 0.0.0.0:8088 \
Security and Performance Optimization
Control the behavior of your node for security and performance tuning.
Configuration Flags:
allowed-connection
: Restricts connections to certain peers (any, masters, or specified).max-clients
: Limits the number of clients connected at a time.cpu-billing-threshold-us
: Defines the CPU usage threshold in microseconds.
start.sh
Example Valuesallowed-connection = any \
max-clients = 50 \
cpu-billing-threshold-us = 20000 \
Set appropriate limits for max-clients to avoid overload, especially in public networks.