The content in this section presupposes that you have completed all the earlier steps outlined in the "Run a Rapid Node" section.
Run Rapidd
You may run rapidd with
rapiddstart
If you want to see all the flags, you can use
> rapidd start --help
Run the full node application with Tendermint in or out of process. By
default, the application will run with Tendermint in process.
Pruning options can be provided via the '--pruning' flag or alternatively with '--pruning-keep-recent',
'pruning-keep-every', and 'pruning-interval' together.
For '--pruning' the options are as follows:
default: the last 100 states are kept in addition to every 500th state; pruning at 10 block intervals
nothing: all historic states will be saved, nothing will be deleted (i.e. archiving node)
everything: all saved states will be deleted, storing only the current state; pruning at 10 block intervals
custom: allow pruning options to be manually specified through 'pruning-keep-recent', 'pruning-keep-every', and 'pruning-interval'
Node halting configurations exist in the form of two flags: '--halt-height' and '--halt-time'. During
Systemd
Rapidd needs to be operational at all times. It's advised to register Rapidd as a systemd service, ensuring automatic restart in case your system undergoes a reboot.
Create a definition file in /etc/systemd/system/rapidd.service
[Unit]
Description=Rapid Node
After=network.target
[Service]
User=<USER>
Type=simple
ExecStart=<PATH_TO_RAPID>/rapidd start --chain-id <Network>
Restart=always
# wait 30 seconds before restarting the service after it has failed.
RestartSec=30
# wait up to 30 seconds for the service to stop gracefully when it is being stopped.
TimeoutStopSec=30
KillSignal=SIGINT
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
Adjust the file with the appropriate details and Network settings
Execute systemctl daemon-reload, then proceed with systemctl enable rapidd. This registration as a system service will initiate the execution of the program upon system startup.
<PATH_TO_RAPID> - Indicate the location of the Rapidd executable. <PATH_TO_RAPID> is often /home/<YOUR_USER>/go/bin/rapidd or /usr/go/bin. Confirm by using whereis rapid.
<USER> - Insert the user (likely your username or root, unless you established a user exclusively for Rapidd).
<Network> - Specify the Chain for which this rapidd binary is intended.
Ensure that you have accurately made the necessary modifications to /etc/security/limits.conf.
Controlling the service
Use systemctl to start, stop, and restart the service
--inv-check-period uint Assert registered invariants every N blocks
--json-rpc.address string the JSON-RPC server address to listen on (default "127.0.0.1:8545")
--json-rpc.allow-unprotected-txs Allow for unprotected (non EIP155 signed) transactions to be submitted via the node's RPC when the global parameter is disabled
--json-rpc.api strings Defines a list of JSON-RPC namespaces that should be enabled (default [eth,net,web3])
--json-rpc.block-range-cap eth_getLogs Sets the max block range allowed for eth_getLogs query (default 10000)
--json-rpc.enable Define if the JSON-RPC server should be enabled
--json-rpc.enable-indexer Enable the custom tx indexer for json-rpc
--json-rpc.evm-timeout duration Sets a timeout used for eth_call (0=infinite) (default 5s)
--json-rpc.filter-cap int32 Sets the global cap for total number of filters that can be created (default 200)
--json-rpc.gas-cap uint Sets a cap on gas that can be used in eth_call/estimateGas unit is arapid (0=infinite) (default 25000000)
--json-rpc.http-idle-timeout duration Sets a idle timeout for json-rpc http server (0=infinite) (default 2m0s)
--json-rpc.http-timeout duration Sets a read/write timeout for json-rpc http server (0=infinite) (default 30s)
--json-rpc.logs-cap eth_getLogs Sets the max number of results can be returned from single eth_getLogs query (default 10000)
--json-rpc.max-open-connections int Sets the maximum number of simultaneous connections for the server listener
--json-rpc.txfee-cap float Sets a cap on transaction fee that can be sent via the RPC APIs (1 = default 1 evmos) (default 1)
--json-rpc.ws-address string the JSON-RPC WS server address to listen on (default "127.0.0.1:8546")
--metrics Define if EVM rpc metrics server should be enabled
--min-retain-blocks uint Minimum block height offset during ABCI commit to prune Tendermint blocks
--minimum-gas-prices string Minimum gas prices to accept for transactions; Any fee in a tx must meet this minimum (e.g. 20000000000arapid)
--moniker string node name (default "Ubuntu-2204-jammy-amd64-base")
--p2p.external-address string ip:port address to advertise to peers for them to dial
--p2p.laddr string node listen address. (0.0.0.0:0 means any interface, any port) (default "tcp://0.0.0.0:26656")
--p2p.unconditional_peer_ids string comma-delimited IDs of unconditional peers
--p2p.upnp enable/disable UPNP port forwarding
--priv_validator_laddr string socket address to listen on for connections from external priv_validator process
--proxy_app string proxy app address, or one of: 'kvstore', 'persistent_kvstore', 'counter', 'e2e' or 'noop' for local testing. (default "tcp://127.0.0.1:26658")
--chain-id string Specify Chain ID for sending Tx (default "rapid_1973-1")
--fees string Fees to pay along with transaction; eg: 10arapid
--from string Name or address of private key with which to sign
--gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1.2)
--gas-prices string Gas prices to determine the transaction fee (e.g. 10arapid)