Mainsail Environment variables

For a full list of all recognized enviroment variables see here.

Logger Variables

MAINSAIL_LOG_LEVEL

This variable determines the severity of messages that are logged.

MAINSAIL_LOG_LEVEL_FILE

This variable determines where the log files are stored.

P2P Variables

MAINSAIL_P2P_HOST

This variable determines the host at which the P2P API will be listening for traffic.

MAINSAIL_P2P_PORT

This variable determines the port at which the P2P API will be listening for traffic.

MAINSAIL_P2P_API_NODES

This variable determines the list of nodes that has running Mainsail Public API. List is shared with other nodes.

MAINSAIL_P2P_MAX_PEERS_BROADCAST

This variable determines how many peers a message or transaction should be broadcasted to.

MAINSAIL_P2P_MAX_PEERS_SAME_SUBNET

This variable determines how many peers from the same subnet are allowed to connect.

MAINSAIL_P2P_MIN_NETWORK_REACH

This variable determines minimum number of peers that should be connected.

MAINSAIL_P2P_PEER_BAN_TIME

This variable determines how long a peer should be banned for after behaving maliciously.

MAINSAIL_P2P_RATE_LIMIT

This variable determines how many requests per second can be sent by a peer.

MAINSAIL_P2P_API_NODES_MAX_CONTENT_LENGTH

This variable determines the maximum content length of a request.

MAINSAIL_SKIP_PEER_STATE_VERIFICATION

This variable determines if the peer state verification should be skipped.

MAINSAIL_P2P_DEVELOPMENT_MODE_ENABLED

This variable determines if the P2P API is in development mode. Development mode disables some security features and opens up HTTP endpoints.

API Database Variables

MAINSAIL_DB_DATABASE

This variable determines what database will be used for database communication.

MAINSAIL_DB_HOST

This variable determines what host will be used for database communication.

MAINSAIL_DB_PASSWORD

This variable determines what password will be used for database communication.

MAINSAIL_DB_PORT

This variable determines what port will be used for database communication.

MAINSAIL_DB_USERNAME

This variable determines what username will be used for database communication.

MAINSAIL_DB_LOGGING_ENABLED

This variable determines if query logging is enabled or not.

Transaction Pool Variables

MAINSAIL_TRANSACTION_POOL_DISABLED

This variable determines if the transaction pool should be disabled.

MAINSAIL_TRANSACTION_POOL_MAX_PER_REQUEST

This variable determines how many transactions can be broadcast in a single request.

MAINSAIL_TRANSACTION_POOL_MAX_PER_SENDER

This variable determines how many transactions can be in the transaction pool by a single sender.

MAINSAIL_TRANSACTION_POOL_REBROADCAST_THRESHOLD

This variable determines when to rebroadcast local transactions based on used block capacity.

MAINSAIL_RESET_POOL

This variable determines if transaction pool database should be truncated at boot.

Webhooks Variables

MAINSAIL_WEBHOOKS_ENABLED

This variable determines if webhooks are enabled.

MAINSAIL_WEBHOOKS_HOST

This variable determines the host at which the Webhook API will be listening for traffic.

MAINSAIL_WEBHOOKS_PORT

This variable determines the port at which the Webhook API will be listening for traffic.

MAINSAIL_WEBHOOKS_TIMEOUT

This variable determines how long it will take for a request to timeout when trying to transmit a webhook payload.

Crypto worker Variables

MAINSAIL_CRYPTO_WORKER_COUNT

This variable determines how many node workers are used for cryptographic operations.

MAINSAIL_CRYPTO_WORKER_LOGGING_ENABLED

This variable determines if the cryptographic worker logs are enabled.

API Variables

MAINSAIL_API_CACHE

This variable determines if the API makes use of caching to improve performance.

MAINSAIL_API_DISABLED

This variable determines if the API is enabled.

MAINSAIL_API_HOST

This variable determines the host at which the API will listen for traffic.

MAINSAIL_API_NO_ESTIMATED_TOTAL_COUNT

This variable determines if estimated counts should be used. This greatly enhanced performance will yield in inaccurate counts.

MAINSAIL_API_PORT

This variable determines the port at which the API will listen for traffic.

MAINSAIL_API_RATE_LIMIT_BLACKLIST

This variable determines which IP addresses are unable to send any requests to the API.

MAINSAIL_API_RATE_LIMIT_DISABLED

This variable determines if rate limiting is disabled.

MAINSAIL_API_RATE_LIMIT_USER_EXPIRES

This variable determines how long it takes before the rate limiting expires.

MAINSAIL_API_RATE_LIMIT_USER_LIMIT

This variable determines how many requests a user can send for any given period.

MAINSAIL_API_RATE_LIMIT_WHITELIST

This variable determines which user are exempted from rate limiting.

MAINSAIL_API_SSL

This variable determines if SSL (HTTPS) is enabled.

MAINSAIL_API_SSL_CERT

This variable determines where the SSL Certification is located.

MAINSAIL_API_SSL_HOST

This variable determines the host at which the HTTPS API will listen for traffic.

MAINSAIL_API_SSL_KEY

This variable determines where the SSL Key is located.

MAINSAIL_API_SSL_PORT

This variable determines the host at which the HTTPS API will listen for traffic.

Application Variables

MAINSAIL_PATH_DATA

This variable is exposed by core and cannot be manually configured.

This variable exposes the path at which application stores data.

MAINSAIL_PATH_CONFIG

This variable exposes the path at which application stores configuration.

MAINSAIL_PATH_CACHE

This variable is exposed by core and cannot be manually configured.

This variable exposes the path at which application stores cache.

MAINSAIL_PATH_LOG

This variable is exposed by core and cannot be manually configured.

This variable exposes the path at which application stores logs.

MAINSAIL_PATH_TEMP

This variable is exposed by core and cannot be manually configured.

This variable exposes the path at which application stores temporary data.

MAINSAIL_NPM_REGISTRY

This variable determines which NPM registry url should be used.