Installation
Example section for showcasing API endpoints
Getting Started
Looking to build a dApp on Sonr? Following this documentation and our academy you can learn how and become part of the rich ecosystem of EVM builders on Cosmos. Whether you are building new use cases on Sonr or porting an existing dApp from another chain, you’ll want to check out the sections on
Configuration
app.toml
file is used to configure the application state of the blockchain node. The minimum gas prices a validator is willing to accept for processing a transaction.
The maximum gas a query coming over rest/grpc may consume.
Pruning strategy for historic states.
Number of recent states to keep when using custom pruning strategy.
Interval for pruning when using custom pruning strategy.
Block height at which a node will gracefully halt and shutdown.
Minimum block time (in Unix seconds) at which a node will gracefully halt and shutdown.
Minimum block height offset from the current block being committed for pruning.
Enables inter-block caching.
Set of events to index.
Size of the IAVL tree cache (in number of nodes).
Enables or disables the fast node feature of IAVL.
Database backend type to use for the application and snapshots DBs.
Prefix for telemetry keys to separate services.
Enables the application telemetry functionality.
Enable prefixing gauge values with hostname.
Enable adding hostname to labels.
Enable adding service to labels.
Enables a Prometheus metrics sink when positive.
Global set of name/value label tuples applied to all metrics.
Type of metrics sink to use.
Address of a statsd server to send metrics to.
Hostname to use when emitting metrics to Datadog.
Defines if the API server should be enabled.
Defines if swagger documentation should automatically be registered.
API server address to listen on.
Number of maximum open connections.
CometBFT RPC read timeout (in seconds).
CometBFT RPC write timeout (in seconds).
CometBFT maximum request body (in bytes).
Defines if CORS should be enabled (unsafe - use it at your own risk).
Defines if the gRPC server should be enabled.
gRPC server address to bind to.
Max message size in bytes the server can receive.
Max message size in bytes the server can send.
Defines if the gRPC-web should be enabled.
Block interval at which local state sync snapshots are taken.
Number of recent snapshots to keep and serve.
List of kv store keys to stream out via gRPC.
Plugin name used for streaming via gRPC.
Specifies whether to stop the node on message delivery error.
Maximum number of transactions in the mempool.
client.toml
file configures the client when using the sonrd
binary to interact with the network. The network chain ID
The keyring’s backend, where the keys are stored (os|file|kwallet|pass|test|memory)
CLI output format (text|json)
<host>:<port>
to CometBFT RPC interface for this chain
Transaction broadcasting mode (sync|async)
config.toml
file is used to configure the blockchain node. The version of the CometBFT binary that created or last modified the config file. Do not modify this.
TCP or UNIX socket address of the ABCI application, or the name of an ABCI application compiled in with the CometBFT binary.
A custom human readable name for this node.
Database backend: goleveldb | cleveldb | boltdb | rocksdb | badgerdb.
Database directory.
Output level for logging, including package level options.
Output format: ‘plain’ (colored text) or ‘json’.
Path to the JSON file containing the initial validator set and other meta data.
Path to the JSON file containing the private key to use as a validator in the consensus protocol.
Path to the JSON file containing the last sign state of a validator.
TCP or UNIX socket address for CometBFT to listen on for connections from an external PrivValidator process.
Path to the JSON file containing the private key to use for node authentication in the p2p protocol.
Mechanism to connect to the ABCI application: socket | grpc.
If true, query the ABCI app on connecting to a new peer so the app can decide if we should keep the connection or not.
TCP or UNIX socket address for the RPC server to listen on.
A list of origins a cross-domain request can be executed from. Default value ’[]’ disables cors support. Use ’[”*”]’ to allow any origin.
A list of methods the client is allowed to use with cross-domain requests.
A list of non simple headers the client is allowed to use with cross-domain requests.
TCP or UNIX socket address for the gRPC server to listen on. NOTE: This server only supports /broadcast_tx_commit.
Maximum number of simultaneous connections. Does not include RPC (HTTP&WebSocket) connections. See max_open_connections.
Activate unsafe RPC commands like /dial_seeds and /unsafe_flush_mempool.
Maximum number of simultaneous connections (including WebSocket). Does not include gRPC connections. See grpc_max_open_connections.
Maximum number of unique clientIDs that can /subscribe. If you’re using /broadcast_tx_commit, set to the estimated maximum number of broadcast_tx_commit calls per block.
Maximum number of unique queries a given client can /subscribe to. If you’re using GRPC (or Local RPC client) and /broadcast_tx_commit, set to the estimated maximum number of broadcast_tx_commit calls per block.
Experimental parameter to specify the maximum number of events a node will buffer, per subscription, before returning an error and closing the subscription. Must be set to at least 100, but higher values will accommodate higher event throughput rates (and will use more memory).
Experimental parameter to specify the maximum number of RPC responses that can be buffered per WebSocket client. If clients cannot read from the WebSocket endpoint fast enough, they will be disconnected, so increasing this parameter may reduce the chances of them being disconnected (but will cause the node to use more memory).
Enabling this experimental parameter will cause the WebSocket connection to be closed instead if it cannot read fast enough, allowing for greater predictability in subscription behavior.
How long to wait for a tx to be committed during /broadcast_tx_commit. WARNING: Using a value larger than 10s will result in increasing the global HTTP write timeout, which applies to all connections and endpoints.
Maximum size of request body, in bytes.
Maximum size of request header, in bytes.
The path to a file containing certificate that is used to create the HTTPS server. Might be either absolute path or path related to CometBFT’s config directory. If the certificate is signed by a certificate authority, the certFile should be the concatenation of the server’s certificate, any intermediates, and the CA’s certificate.
The path to a file containing matching private key that is used to create the HTTPS server. Might be either absolute path or path related to CometBFT’s config directory.
pprof listen address (https://golang.org/pkg/net/http/pprof).
Address to listen for incoming connections.
Address to advertise to peers for them to dial. If empty, will use the same port as the laddr, and will introspect on the listener to figure out the address. IP and port are required.
Comma separated list of seed nodes to connect to.
Comma separated list of nodes to keep persistent connections to.
Path to address book.
Set true for strict address routability rules. Set false for private or local networks.
Maximum number of inbound peers.
Maximum number of outbound peers to connect to, excluding persistent peers.
List of node IDs, to which a connection will be (re)established ignoring any existing limits.
Maximum pause when redialing a persistent peer (if zero, exponential backoff is used).
Time to wait before flushing messages out on the connection.
Maximum size of a message packet payload, in bytes.
Rate at which packets can be sent, in bytes/second.
Rate at which packets can be received, in bytes/second.
Set true to enable the peer-exchange reactor.
Seed mode, in which node constantly crawls the network and looks for peers. If another node asks it for addresses, it responds and disconnects. Does not work if the peer-exchange reactor is disabled.
Comma separated list of peer IDs to keep private (will not be gossiped to other peers).
Toggle to disable guard against peers connecting from the same ip.
Peer connection configuration.
Peer connection configuration.
The type of mempool for this node to use.
Recheck (default: true) defines whether CometBFT should recheck the validity for all remaining transaction in the mempool after a block.
Broadcast (default: true) defines whether the mempool should relay transactions to other peers.
WalPath (default: "") configures the location of the Write Ahead Log (WAL) for the mempool.
Maximum number of transactions in the mempool.
Limit the total size of all txs in the mempool.
Size of the cache (used to filter transactions we saw earlier) in transactions.
Do not remove invalid transactions from the cache (default: false).
Maximum size of a single transaction.
Maximum size of a batch of transactions to send to a peer.
Experimental parameters to limit gossiping txs to up to the specified number of peers.
Experimental parameters to limit gossiping txs to up to the specified number of peers.
State sync rapidly bootstraps a new node by discovering, fetching, and restoring a state machine snapshot from peers instead of fetching and replaying historical blocks.
RPC servers (comma-separated) for light client verification of the synced state machine and retrieval of state data for node bootstrapping.
Trusted height for state sync.
Trusted hash for state sync.
Trust period for state sync.
Time to spend discovering snapshots before initiating a restore.
Temporary directory for state sync snapshot chunks.
The timeout duration before re-requesting a chunk, possibly from a different peer.
The number of concurrent chunk fetchers to run.
Block Sync version to use.
WAL file for consensus.
How long we wait for a proposal block before prevoting nil.
How much timeout_propose increases with each round.
How long we wait after receiving +2/3 prevotes for “anything”.
How much the timeout_prevote increases with each round.
How long we wait after receiving +2/3 precommits for “anything”.
How much the timeout_precommit increases with each round.
How long we wait after committing a block, before starting on the new height.
How many blocks to look back to check existence of the node’s consensus votes before joining consensus.
Make progress as soon as we have all the precommits (as if TimeoutCommit = 0).
EmptyBlocks mode and possible interval between empty blocks.
EmptyBlocks mode and possible interval between empty blocks.
Reactor sleep duration parameters.
Reactor sleep duration parameters.
Set to true to discard ABCI responses from the state store, which can save a considerable amount of disk space.
What indexer to use for transactions.
The PostgreSQL connection configuration, the connection format: postgresql://<user>:<password>@<host>:<port>/<db>?<opts>
.
When true, Prometheus metrics are served under /metrics on PrometheusListenAddr.
Address to listen for Prometheus collector(s) connections.
Maximum number of simultaneous connections.
Instrumentation namespace.