most stable args
most stable args are arguments that have no deprecated or removed entries. these are reliable and consistently supported across versions, making them safe for long-term use.
- accountLoad an account from the provided JSON file (see `solana account --help` on how to dump an account to file). Files are searched for relatively to CWD and testsfixtures. If ADDRESS is omitted via the `-` placeholder, the one in the file will be used. If the ledger already exists then this parameter is silently ignored"
- account dirLoad all the accounts from the JSON files found in the specified DIRECTORY (see also the `--account` flag). If the ledger already exists then this parameter is silently ignored"
- account index exclude keyWhen account indexes are enabled, exclude this key from the index.
- account index include keyWhen account indexes are enabled, only include specific keys in the index. This overrides --account-index-exclude-key."
- account indexesEnable an accounts index, indexed by the selected account field
- account pathsComma separated persistent accounts location. May be specified multiple times. [default: <LEDGER>accounts]"
- account shrink pathPath to accounts shrink path which can hold a compacted account set.
- accounts db access storages methodAccess account storages using this method
- accounts db cache limit mbHow large the write cache for account data can become. If this is exceeded, the cache is flushed more aggressively."
- accounts db clean threadsNumber of threads to use for cleaning AccountsDb
- accounts db foreground threadsNumber of threads to use for AccountsDb block processing
- accounts db hash threadsNumber of threads to use for background accounts hashing
- accounts db skip shrinkDisable the disk-based accounts index if it is enabled by default.
- accounts db test hash calculationEnables testing of hash calculation using stores in AccountsHashVerifier. This has a computational cost."
- accounts hash cache pathUse PATH as accounts hash cache location [default: <LEDGER>accounts_hash_cache]"
- accounts index binsNumber of bins to divide the accounts index into
- accounts index flush threadsNumber of threads to use for flushing the accounts index
- accounts index pathPersistent accounts-index location. May be specified multiple times. [default: <LEDGER>accounts_index]"
- accounts index scan results limit mbHow large accumulated results from an accounts index scan can become. If this is exceeded, the scan aborts."
- accounts shrink optimize total spaceWhen this is set to true, the system will shrink the most sparse accounts and when the overall shrink ratio is above the specified accounts-shrink-ratio, the shrink will stop and it will skip all other less sparse accounts."
- accounts shrink ratioSpecifies the shrink ratio for the accounts to be shrunk. The shrink ratio is defined as the ratio of the bytes alive over the total bytes used. If the account's shrink ratio is less than this ratio it becomes a candidate for shrinking. The value must between 0. and 1.0 inclusive."
- authorized voter keypairsInclude an additional authorized voter keypair. May be specified multiple times. [default: the --identity keypair]"
- banking trace dir byte limitEnables the banking trace explicitly, which is enabled by default and writes trace files for simulate-leader-blocks, retaining up to the default or specified total bytes in the ledger. This flag can be used to override its byte limit."
- bind addressIP address to bind the validator ports
- block production methodBlockProductionMethod::cli_message()
- block verification methodBlockVerificationMethod::cli_message()
- bpf programAdd a SBF program to the genesis configuration with upgrades disabled. If the ledger already exists then this parameter is silently ignored. The first argument can be a pubkey string or path to a keypair"
- check vote accountSanity check vote account state at startup. The JSON RPC endpoint at RPC_URL must expose `--full-rpc-api`"
- clone accountCopy an account from the cluster referenced by the --url argument the genesis configuration. If the ledger already exists then this parameter is silently ignored"
- clone feature setCopy a feature set from the cluster referenced by the --url argument in the genesis configuration. If the ledger already exists then this parameter is silently ignored"
- clone upgradeable programCopy an upgradeable program and its executable data from the cluster referenced by the --url argument the genesis configuration. If the ledger already exists then this parameter is silently ignored"
- compute unit limitOverride the runtime's compute unit limit per transaction
- config fileConfiguration file to use
- contact debug intervalMilliseconds between printing contact debug from gossip.
- cudaUse CUDA
- deactivate featuredeactivate this feature in genesis.
- debug keyLog when transactions are processed which reference a given key.
- dev halt at slotHalt the validator when it reaches the given slot
- disable banking traceDisables the banking trace
- disable quic serversEnable AccountsDb Replication
- dynamic port rangeRange to use for dynamically assigned ports
- enable bigtable ledger uploadUpload new confirmed blocks into a BigTable instance
- enable cpi and log storageInclude CPI inner instructions, logs and return data in the historical transaction info stored"
- enable quic serversOnly expose the RPC methods required to serve snapshots to other nodes
- enable extended tx metadata storageInclude CPI inner instructions, logs, and return data in the historical transaction info stored"
- enable rpc bigtable ledger storageFetch historical transaction info from a BigTable instance as a fallback to local ledger data"
- enable rpc transaction historyEnable historical transaction info over JSON RPC, including the 'getConfirmedBlock' API. This will cause an increase in disk usage and IOPS"
- entrypointRendezvous with the cluster at this gossip entrypoint
- expected bank hashWhen wait-for-supermajority <x>, require the bank at <x> to have this hash
- expected shred versionRequire the shred version be this value
- expected genesis hashRequire the genesis have this hash
- faucet per request sol capPer-request limit for faucet requests, in SOL
- faucet per time sol capPer-time slice limit for faucet requests, in SOL
- faucet portEnable the faucet on this port
- faucet solGive the faucet address this much SOL in genesis. If the ledger already exists then this parameter is silently ignored"
- faucet time slice secsTime slice (in secs) over which to limit faucet requests
- full rpc apiExpose RPC methods for querying chain state and transaction history
- full snapshot archive pathUse DIR as full snapshot archives location [default: --snapshots value]"
- full snapshot interval slotsNumber of slots between generating full snapshots
- geyser plugin always enabledЕnable Geyser interface even if no Geyser configs are specified.
- geyser plugin configSpecify the configuration file for the Geyser plugin.
- gossip hostGossip DNS name or IP address for the validator to advertise in gossip [default: ask --entrypoint, or 127.0.0.1 when --entrypoint is not provided]"
- gossip portGossip port number for the validator
- gossip validatorsA list of validators to gossip with. If specified, gossip will not pushpull from from validators outside this set. [default: all validators]"
- hard forksAdd a hard fork at this slot
- health check slot distanceReport this validator as healthy if its latest replayed optimistically confirmed slot is within the specified number of slots from the cluster's latest optimistically confirmed slot"
- identityValidator identity keypair
- incremental snapshot archive pathUse DIR as incremental snapshot archives location [default: --snapshots value]"
- init complete fileCreate this file if it doesn't already exist once validator initialization is complete"
- ip echo server threadsNumber of threads to use for the IP echo server
- json rpc urlURL for Solana's JSON RPC or moniker (or their first letter): [mainnet-beta, testnet, devnet, localhost]"
- known validatorsA snapshot hash must be published in gossip by this validator to be accepted. May be specified multiple times. If unspecified any snapshot hash will be accepted"
- ledger pathUse DIR as ledger location
- limit ledger sizeKeep this amount of shreds in root slots.
- logLog mode: stream the validator log
- log messages bytes limitMaximum number of bytes written to the program log before truncation
- logfileRedirect logging to the specified file, '-' for standard error. Sending the SIGUSR1 signal to the validator process will cause it to re-open the log file"
- max genesis archive unpacked sizemaximum total uncompressed file size of downloaded genesis archive
- maximum full snapshots to retainThe maximum number of full snapshot archives to hold on to when purging older snapshots."
- maximum incremental snapshots to retainThe maximum number of incremental snapshot archives to hold on to when purging older snapshots."
- maximum local snapshot ageReuse a local snapshot if it's less than this many slots behind the highest snapshot available for download from other validators"
- maximum snapshot download abortThe maximum number of times to abort and retry when encountering a slow snapshot download."
- maybe clone accountCopy an account from the cluster referenced by the --url argument, skipping it if it doesn't exist. If the ledger already exists then this parameter is silently ignored"
- minimal snapshot download speedThe minimal speed of snapshot downloads measured in bytessecond. If the initial download speed falls below this threshold, the system will retry the download against a different rpc node."
- mint addressAddress of the mint account that will receive tokens created at genesis. If the ledger already exists then this parameter is silently ignored [default: client keypair]"
- no check vote accountDisable manual compaction of the ledger database
- no genesis fetchDo not fetch genesis from the cluster
- no incremental snapshotsDisable incremental snapshots
- no snapshot fetchDo not attempt to fetch a snapshot from the cluster, start from a local snapshot if present"
- no votingLaunch validator without voting
- only known rpcUse the RPC service of known validators only
- private rpcDo not publish the RPC port for use by others
- public rpc addrRPC address for the validator to advertise publicly in gossip. Useful for validators running behind a load balancer or proxy [default: use --rpc-bind-address --rpc-port]"
- public tpu addrSpecify TPU address to advertise in gossip [default: ask --entrypoint or localhost when --entrypoint is not provided]"
- public tpu forwards addrSpecify TPU Forwards address to advertise in gossip [default: ask --entrypoint or localhostwhen --entrypoint is not provided]"
- quietQuiet mode: suppress normal output
- rayon global threadsNumber of threads to use for the global rayon thread pool
- repair validatorsA list of validators to request repairs from. If specified, repair will not request from validators outside this set [default: all validators]"
- replay forks threadsNumber of threads to use for replay of blocks on different forks
- replay slots concurrentlyThe maximum size in bytes to which the outgoing websocket buffer can grow.
- replay transactions threadsNumber of threads to use for transaction replay
- require towerRefuse to start if saved tower state is not found
- resetReset the ledger to genesis if it exists. By default the validator will resume an existing ledger (if present)"
- restricted repair only modeDo not publish the Gossip, TPU, TVU or Repair Service ports. Doing so causes the node to operate in a limited capacity that reduces its exposure to the rest of the cluster. The --no-voting flag is implicit when this flag is enabled"
- rocksdb compaction threadsNumber of threads to use for rocksdb (Blockstore) compactions
- rocksdb flush threadsNumber of threads to use for rocksdb (Blockstore) memtable flushes
- rocksdb shred compactionControls how RocksDB compacts shreds. *WARNING*: You will lose your Blockstore data when you switch between options. Possible values are: 'level': stores shreds using RocksDB's default (level) compaction."
- rpc bigtable app profile idBigtable application profile id to use in requests
- rpc bigtable instance nameName of the Bigtable instance to upload to
- rpc bigtable timeoutNumber of seconds before timing out RPC requests backed by BigTable
- rpc bigtable max message sizeMax encoding and decoding message size used in Bigtable Grpc client
- rpc bind addressIP address to bind the RPC port [default: 127.0.0.1 if --private-rpc is present, otherwise use --bind-address]"
- rpc blocking threadsNumber of blocking threads to use for servicing CPU bound RPC requests (eg getMultipleAccounts)
- rpc faucet addrEnable the JSON RPC 'requestAirdrop' API with this faucet address.
- rpc max multiple accountsOverride the default maximum accounts accepted by the getMultipleAccounts JSON RPC method"
- rpc max request body sizeThe maximum request body size accepted by rpc service
- rpc niceness adjAdd this value to niceness of RPC threads. Negative value increases priority, positive value decreases priority."
- rpc portEnable JSON RPC on this port, and the next port for the RPC websocket
- rpc pubsub enable block subscriptionEnable the unstable RPC PubSub `blockSubscribe` subscription
- rpc pubsub max active subscriptionsThe maximum number of active subscriptions that RPC PubSub will accept across all connections."
- rpc pubsub enable vote subscriptionEnable the unstable RPC PubSub `voteSubscribe` subscription
- rpc pubsub notification threadsThe maximum number of threads that RPC PubSub will use for generating notifications. 0 will disable RPC PubSub notifications"
- rpc pubsub queue capacity bytesThe maximum total size of notifications that RPC PubSub will store across all connections."
- rpc pubsub queue capacity itemsThe maximum number of notifications that RPC PubSub will store across all connections."
- rpc pubsub worker threadsPubSub worker threads
- rpc scan and fix rootsVerifies blockstore roots on boot and fixes any gaps
- rpc send transaction also leaderWith `--rpc-send-transaction-tpu-peer HOST:PORT`, also send to the current leader
- rpc send transaction default max retriesThe maximum number of transaction broadcast retries when unspecified by the request, otherwise retried until expiration."
- rpc send transaction leader forward countThe number of upcoming leaders to which to forward transactions sent via rpc service."
- rpc send transaction retry msThe rate at which transactions sent via rpc service are retried.
- rpc send transaction retry pool max sizeThe maximum size of transactions retry pool.
- rpc send transaction service max retriesThe maximum number of transaction broadcast retries, regardless of requested value."
- rpc send transaction tpu peerPeer(s) to broadcast transactions to instead of the current leader
- rpc threadsNumber of threads to use for servicing RPC requests
- skip poh verifySkip ledger verification at validator bootup.
- skip preflight health checkSkip health check when running a preflight check"
- skip startup ledger verificationSkip ledger verification at validator bootup.
- slots per epochOverride the number of slots in an epoch. If the ledger already exists then this parameter is silently ignored"
- snapshot archive formatSnapshot archive format to use.
- snapshot interval slotsNumber of slots between generating snapshots
- snapshot packager niceness adjAdd this value to niceness of snapshot packager thread. Negative value increases priority, positive value decreases priority."
- snapshot versionOutput snapshot version
- snapshot zstd compression levelThe compression level to use when archiving with zstd
- snapshotsUse DIR as the base location for snapshots. A subdirectory named "snapshots" will be created. [default: --ledger value]"
- staked nodes overridesProvide path to a yaml file with custom overrides for stakes of specific identities. Overriding the amount of stake this validator considers as valid for other peers in network. The stake amount is used for calculating the number of QUIC streams permitted from the peer and vote packet sender stage. Format of the file: `staked_map_id: {<pubkey>: <SOL stake amount>}"
- towerUse DIR as file tower storage location [default: --ledger value]
- ticks per slotThe number of ticks in a slot
- tpu coalesce msMilliseconds to wait in the TPU receiver for packet coalescing.
- tpu connection pool sizeControls the TPU connection pool size per remote address
- tpu disable quicDo not use QUIC to send transactions.
- tpu enable udpEnable UDP for receivingsending transactions.
- transaction account lock limitOverride the runtime's account lock limit per transaction
- transaction structTransactionStructure::cli_message()
- tvu receive threadsno description available
- tvu shred sigverify threadsno description available
- unified scheduler handler threadsDefaultSchedulerPool::cli_message()
- upgradeable programAdd an upgradeable SBF program to the genesis configuration. If the ledger already exists then this parameter is silently ignored. First and third arguments can be a pubkey string or path to a keypair. Upgrade authority set to "none" disables upgrades"
- vote accountValidator vote account public key. If unspecified, voting will be disabled. The authorized voter for the account must either be the --identity keypair or set by the --authorized-voter argument"
- wait for supermajorityAfter processing the ledger and the next slot is SLOT, wait until a supermajority of stake is visible on gossip before starting PoH"
- wal recovery modeMode to recovery the ledger db write ahead log.
- warp slotWarp the ledger to WARP_SLOT after starting the validator. If no slot is provided then the current slot of the cluster referenced by the --url argument will be used"
- on x /
- github /
- web /
- [email protected]