Configure your node

Data directory 

By default, the database and configuration files for the Iron Fish node are created in the ~/.ironfish directory.

The file structure is composed of the following:

[Iron Fish Node]
├── config.json
├── internal.json
└── databases
...└── chain
...└── wallet

You can change the working directory by passing the flag --datadir when running a command. Doing so will require you to sync the node again with the network.

Configuration files can be edited by the commands described here.

Configuration 

To change configuration of your node, you can do so from the command line using the config:set command.

For example, if you wanted to change the number of confirmed blocks necessary to calculate your balance, you could do so with:

ironfish config:set confirmations 3

Options 

ElementDescription
blockGraffitiWhen mining, value to set on the graffiti field of new blocks. Truncated to 32 bytes
bootstrapNodesList of addresses to connect to when launching the node
broadcastWorkersBroadcast worker nodes
confirmationsThe minimum number of block confirmations needed when computing account balance
customNetworkPath to a JSON file containing the network definition of a custom network
databaseMigrateEnabled database migration
editorPath for the default code editor for the config file
enableListenP2PEnable the WebSocket listen server
enableLogFileEnable logging to a file
enableMetricsEnable internal metrics collection (required for status command)
enableRpcEnable the RPC server
enableRpcHttpEnable the RPC to be served on HTTP
enableRpcIpcEnable the RPC to be served on IPC
enableRpcTcpEnable the RPC to be served on TCP
enableRpcTlsEnable the RPC to be served on TLS
enableSyncingEnable syncing of the Iron Fish blockchain
enableTelemetryEnable anonymous telemetry collection
explorerBlocksUrlURL for viewing block information in a block explorer
explorerTransactionsUrlURL for viewing transaction information in a block explorer
feeEstimatorMaxBlockHistoryMax blocks to calculate transaction fee estimator
feeEstimatorPercentileHighHigh percentile for transaction fee estimator
feeEstimatorPercentileLowLow percentile for transaction fee estimator
feeEstimatorPercentileMediumMedium percentile for transaction fee estimator
generateNewIdentityGenerate a new identity at start-up
getFundsApiHTTP URL for the Faucet API
ipcPathPath for the RPC IPC directory
jsonLogsEnable logs to the console to be in JSON format
keepOpenPeerSlotIf true, the node will disconnect from a peer if the number of connected peers is equal to maxPeers in order to always allow incoming connections.
logLevelLog level of the node. Log levels can be applied to tagged logs, e.g. *:warn,tag:info
logPrefixString to be prefixed to all logs. If any of the following strings are included, will replace them with the corresponding value: %time%, %level%, %tag%
maxPeersThe maximum number of peers to which the node can be connected at a time
maxSyncedAgeBlocksThe oldest the tip should be before we consider the chain synced
minPeersThe minimum number of peers to which the node should be connected at any time
minerBatchSizeThe number of hashes processed by miner per worker request
miningForceForce mining
nodeNameName of the node to be broadcasted to peers (optional)
nodeWorkersThe number of threads to use for workers. A value of -1 will use the maximum possible amount of threads.
p2pSimulateLatencyRandomly delay outbound messages up to this value
peerPortPort on which to host the WebSocket listen server
poolAccountNameThe name of the account that the pool will use to payout from
poolAttemptPayoutIntervalThe length of time in seconds that the pool will wait between checking if it is time to make a payout
poolBalancePercentPayoutThe percent of the confirmed balance of the pool's account that it will payout
poolBanningShould pool clients be banned for perceived bad behavior
poolDifficultyThe pool difficulty, which determines how often miners submit shares
poolDiscordWebhookThe discord webhook URL to post pool critical pool information to
poolHostThe host that the pool is listening for miner connections on
poolLarkWebhookThe lark webhook URL to post pool critical pool information to
poolMaxConnectionsPerIpThe maximum number of concurrent open connections per remote address
poolNameName to use for mining pool (optional)
poolPortThe port that the pool is listening for miner connections on
poolRecentShareCutoffThe length of time in seconds that will be used to calculate hashrate for the pool
poolStatusNotificationIntervalThe length of time in seconds that the pool will wait between status messages
poolSuccessfulPayoutIntervalThe length of time in seconds that the pool will wait between successful payouts
preemptiveBlockMiningMaximize miner efficiency by mining empty blocks before checking if there are pending transactions
rpcHttpHostAddress to connect to when establishing an RPC connection over HTTP
rpcHttpPortPort to connect to when establishing an RPC connection over HTTP
rpcTcpHostAddress to connect to when establishing an RPC connection over TCP
rpcTcpPortPort to connect to when establishing an RPC connection over TCP
targetPeersThe ideal number of peers we'd like to be connected to. The node will attempt to establish new connections when below this number.
telemetryApiHTTP URL for the Telemetry API
tlsCertPathNode certificate path for authorizing TLS over TCP
tlsKeyPathPrivate key path for TLS over TCP
transactionExpirationDeltaThe default delta of block sequence for which to expire transactions from the mempool

Join our newsletter and stay up to date with privacy and crypto.

Discover our impactful presence — read our blog.

Use

  • Node App
  • Node CLI
  • Mine
  • Block Explorer
  • Ecosystem

Learn

  • Get Started
  • FAQ
  • Whitepaper
  • Tokenomics

Community

  • Foundation
  • Governance
  • Grants
  • Our Community

Developers

  • Documentation
  • Github
Privacy Policy

|

Media Kit

|

Copyright 2024 Iron Fish.