MintCoin.conf

From MintCoin
Jump to: navigation, search

MintCoin's binary distributables (the program that you can download and run) come in two flavours; one is a graphical interface, generally seen as MintCoin-qt, or just mintcoin, and the other is a 'headless' version called mintcoind which only uses the command line. They are completely compatible with each other, they take the same command-line arguments, read the same configuration file, and read and write the same data files. You can run only one copy of either MintCoin-qt or mintcoind on your system at a time. If you accidentally try to launch two copies, the most recently opened copy will let you know that one is already running and it will exit.

Linux Quickstart[edit]

The simplest way to start from scratch with the command line client--automatically syncing the blockchain and creating a wallet--is to save the binary and just run this command (without arguments) from the directory containing the downloaded mintcoind binary:

./mintcoind

This version of the MintCoin binary runs in the background after you call it for the first time. It is a 'headless' server which you can query with subsequent calls from the command line, and can be stopped through a command line argument such as:

./mintcoind stop

To run with the standard GUI interface:

./MintCoin-qt

Command-line arguments[edit]

While mintcoind is running, the -? or –-help arguments will print out a list of the command-line arguments and then exit:

./mintcoind -?

Options:

   -?
      Print this help message and exit
 -version
      Print version and exit
 -alertnotify=<cmd>
      Execute command when a relevant alert is received or we see a really
      long fork (%s in cmd is replaced by message)
 -blocknotify=<cmd>
      Execute command when the best block changes (%s in cmd is replaced by
      block hash)
 -assumevalid=<hex>
      If this block is in the chain assume that it and its ancestors are valid
      and potentially skip their script verification (0 to verify all,
      default:
      59c9b9d3fec105bdc716d84caa7579503d5b05b73618d0bf2d5fa639f780a011,
      testnet:
      a0afbded94d4be233e191525dc2d467af5c7eab3143c852c3cd549831022aad6)
 -conf=<file>
      Specify configuration file (default: MintCoin.conf)
 -daemon
      Run in the background as a daemon and accept commands
 -datadir=<dir>
      Specify data directory
 -dbcache=<n>
      Set database cache size in megabytes (4 to 16384, default: 450)
 -loadblock=<file>
      Imports blocks from external blk000??.dat file on startup
 -debuglogfile=<file>
      Specify location of debug log file: this can be an absolute path or a
      path relative to the data directory (default: debug.log)
 -maxorphantx=<n>
      Keep at most <n> unconnectable transactions in memory (default: 100)
 -maxmempool=<n>
      Keep the transaction memory pool below <n> megabytes (default: 300)
 -mempoolexpiry=<n>
      Do not keep transactions in the mempool longer than <n> hours (default:
      336)
 -persistmempool
      Whether to save the mempool on shutdown and load on restart (default: 1)
 -blockreconstructionextratxn=<n>
      Extra transactions to keep in memory for compact block reconstructions
      (default: 100)
 -par=<n>
      Set the number of script verification threads (-4 to 16, 0 = auto, <0 =
      leave that many cores free, default: 0)
 -pid=<file>
      Specify pid file (default: mintcoind.pid)
 -prune=<n>
      Reduce storage requirements by enabling pruning (deleting) of old
      blocks. This allows the pruneblockchain RPC to be called to
      delete specific blocks, and enables automatic pruning of old
      blocks if a target size in MiB is provided. This mode is
      incompatible with -txindex and -rescan. Warning: Reverting this
      setting requires re-downloading the entire blockchain. (default:
      0 = disable pruning blocks, 1 = allow manual pruning via RPC,
      >550 = automatically prune block files to stay under the
      specified target size in MiB)
 -reindex-chainstate
      Rebuild chain state from the currently indexed blocks
 -reindex
      Rebuild chain state and block index from the blk*.dat files on disk
 -sysperms
      Create new files with system default permissions, instead of umask 077
      (only effective with disabled wallet functionality)
 -txindex
      Maintain a full transaction index, used by the getrawtransaction rpc
      call (default: 0)

Connection options:

 -addnode=<ip>
      Add a node to connect to and attempt to keep the connection open (see
      the `addnode` RPC command help for more info)
 -banscore=<n>
      Threshold for disconnecting misbehaving peers (default: 100)
 -bantime=<n>
      Number of seconds to keep misbehaving peers from reconnecting (default:
      86400)
 -bind=<addr>
      Bind to given address and always listen on it. Use [host]:port notation
      for IPv6
 -connect=<ip>
      Connect only to the specified node(s); -connect=0 disables automatic
      connections (the rules for this peer are the same as for
      -addnode)
 -discover
      Discover own IP addresses (default: 1 when listening and no -externalip
      or -proxy)
 -dns
      Allow DNS lookups for -addnode, -seednode and -connect (default: 1)
 -dnsseed
      Query for peer addresses via DNS lookup, if low on addresses (default: 1
      unless -connect used)
 -externalip=<ip>
      Specify your own public address
 -forcednsseed
      Always query for peer addresses via DNS lookup (default: 0)
 -listen
      Accept connections from outside (default: 1 if no -proxy or -connect)
 -listenonion
      Automatically create Tor hidden service (default: 1)
 -maxconnections=<n>
      Maintain at most <n> connections to peers (default: 125)
 -maxreceivebuffer=<n>
      Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000)
 -maxsendbuffer=<n>
      Maximum per-connection send buffer, <n>*1000 bytes (default: 1000)
 -maxtimeadjustment
      Maximum allowed median peer time offset adjustment. Local perspective of
      time may be influenced by peers forward or backward by this
      amount. (default: 2100 seconds)
 -onion=<ip:port>
      Use separate SOCKS5 proxy to reach peers via Tor hidden services
      (default: -proxy)
 -onlynet=<net>
      Only connect to nodes in network <net> (ipv4, ipv6 or onion)
 -permitbaremultisig
      Relay non-P2SH multisig (default: 1)
 -peerbloomfilters
      Support filtering of blocks and transaction with bloom filters (default:
      1)
 -port=<port>
      Listen for connections on <port> (default: 9333 or testnet: 19335)
 -proxy=<ip:port>
      Connect through SOCKS5 proxy
 -proxyrandomize
      Randomize credentials for every proxy connection. This enables Tor
      stream isolation (default: 1)
 -seednode=<ip>
      Connect to a node to retrieve peer addresses, and disconnect
 -timeout=<n>
      Specify connection timeout in milliseconds (minimum: 1, default: 5000)
 -torcontrol=<ip>:<port>
      Tor control port to use if onion listening enabled (default:
      127.0.0.1:9051)
 -torpassword=<pass>
      Tor control port password (default: empty)
 -upnp
      Use UPnP to map the listening port (default: 0)
 -whitebind=<addr>
      Bind to given address and whitelist peers connecting to it. Use
      [host]:port notation for IPv6
 -whitelist=<IP address or network>
      Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or
      CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple
      times. Whitelisted peers cannot be DoS banned and their
      transactions are always relayed, even if they are already in the
      mempool, useful e.g. for a gateway
 -maxuploadtarget=<n>
      Tries to keep outbound traffic under the given target (in MiB per 24h),
      0 = no limit (default: 0)

Wallet options:

 -addresstype
      What type of addresses to use ("legacy", "p2sh-segwit", or "bech32",
      default: "p2sh-segwit")
 -changetype
      What type of change to use ("legacy", "p2sh-segwit", or "bech32").
      Default is same as -addresstype, except when
      -addresstype=p2sh-segwit a native segwit output is used when
      sending to a native segwit address)
 -disablewallet
      Do not load the wallet and disable wallet RPC calls
 -keypool=<n>
      Set key pool size to <n> (default: 1000)
 -fallbackfee=<amt>
      A fee rate (in LTC/kB) that will be used when fee estimation has
      insufficient data (default: 0.02)
 -discardfee=<amt>
      The fee rate (in LTC/kB) that indicates your tolerance for discarding
      change by adding it to the fee (default: 0.0001). Note: An output
      is discarded if it is dust at this rate, but we will always
      discard up to the dust relay fee and a discard fee above that is
      limited by the fee estimate for the longest target
 -mintxfee=<amt>
      Fees (in LTC/kB) smaller than this are considered zero fee for
      transaction creation (default: 0.001)
 -paytxfee=<amt>
      Fee (in LTC/kB) to add to transactions you send (default: 0.00)
 -rescan
      Rescan the block chain for missing wallet transactions on startup
 -salvagewallet
      Attempt to recover private keys from a corrupt wallet on startup
 -spendzeroconfchange
      Spend unconfirmed change when sending transactions (default: 1)
 -txconfirmtarget=<n>
      If paytxfee is not set, include enough fee so transactions begin
      confirmation on average within n blocks (default: 6)
 -walletrbf
      Send transactions with full-RBF opt-in enabled (RPC only, default: 0)
 -upgradewallet
      Upgrade wallet to latest format on startup
 -wallet=<file>
      Specify wallet file (within data directory) (default: wallet.dat)
 -walletbroadcast
      Make the wallet broadcast transactions (default: 1)
 -walletdir=<dir>
      Specify directory to hold wallets (default: <datadir>/wallets if it
      exists, otherwise <datadir>)
 -walletnotify=<cmd>
      Execute command when a wallet transaction changes (%s in cmd is replaced
      by TxID)
 -zapwallettxes=<mode>
      Delete all wallet transactions and only recover those parts of the
      blockchain through -rescan on startup (1 = keep tx meta data e.g.
      account owner and payment request information, 2 = drop tx meta
      data)

ZeroMQ notification options:

 -zmqpubhashblock=<address>
      Enable publish hash block in <address>
 -zmqpubhashtx=<address>
      Enable publish hash transaction in <address>
 -zmqpubrawblock=<address>
      Enable publish raw block in <address>
 -zmqpubrawtx=<address>
      Enable publish raw transaction in <address>

Debugging/Testing options:

 -uacomment=<cmt>
      Append comment to the user agent string
 -debug=<category>
      Output debugging information (default: 0, supplying <category> is
      optional). If <category> is not supplied or if <category> = 1,
      output all debugging information. <category> can be: net, tor,
      mempool, http, bench, zmq, db, rpc, estimatefee, addrman,
      selectcoins, reindex, cmpctblock, rand, prune, proxy, mempoolrej,
      libevent, coindb, qt, leveldb.
 -debugexclude=<category>
      Exclude debugging information for a category. Can be used in conjunction
      with -debug=1 to output debug logs for all categories except one
      or more specified categories.
 -help-debug
      Show all debugging options (usage: --help -help-debug)
 -logips
      Include IP addresses in debug output (default: 0)
 -logtimestamps
      Prepend debug output with timestamp (default: 1)
 -maxtxfee=<amt>
      Maximum total fees (in LTC) to use in a single wallet transaction or raw
      transaction; setting this too low may abort large transactions
      (default: 0.10)
 -printtoconsole
      Send trace/debug info to console instead of debug.log file
 -shrinkdebugfile
      Shrink debug.log file on client startup (default: 1 when no -debug)

Chain selection options:

 -testnet
      Use the test chain

Node relay options:

 -bytespersigop
      Equivalent bytes per sigop in transactions for relay and mining
      (default: 20)
 -datacarrier
      Relay and mine data carrier transactions (default: 1)
 -datacarriersize
      Maximum size of data in data carrier transactions we relay and mine
      (default: 83)
 -mempoolreplacement
      Enable transaction replacement in the memory pool (default: 0)
 -minrelaytxfee=<amt>
      Fees (in LTC/kB) smaller than this are considered zero fee for relaying,
      mining and transaction creation (default: 0.00001)
 -whitelistrelay
      Accept relayed transactions received from whitelisted peers even when
      not relaying transactions (default: 1)
 -whitelistforcerelay
      Force relay of transactions from whitelisted peers even if they violate
      local relay policy (default: 1)

Block creation options:

 -blockmaxweight=<n>
      Set maximum BIP141 block weight (default: 3996000)
 -blockmaxsize=<n>
      Set maximum BIP141 block weight to this * 4. Deprecated, use
      blockmaxweight
 -blockmintxfee=<amt>
      Set lowest fee rate (in LTC/kB) for transactions to be included in block
      creation. (default: 0.00001)

RPC server options:

 -server
      Accept command line and JSON-RPC commands
 -rest
      Accept public REST requests (default: 0)
 -rpcbind=<addr>[:port]
      Bind to given address to listen for JSON-RPC connections. This option is
      ignored unless -rpcallowip is also passed. Port is optional and
      overrides -rpcport. Use [host]:port notation for IPv6. This
      option can be specified multiple times (default: 127.0.0.1 and
      ::1 i.e., localhost, or if -rpcallowip has been specified,
      0.0.0.0 and :: i.e., all addresses)
 -rpccookiefile=<loc>
      Location of the auth cookie (default: data dir)
 -rpcuser=<user>
      Username for JSON-RPC connections
 -rpcpassword=<pw>
      Password for JSON-RPC connections
 -rpcauth=<userpw>
      Username and hashed password for JSON-RPC connections. The field
      <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A
      canonical python script is included in share/rpcuser. The client
      then connects normally using the
      rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This
      option can be specified multiple times
 -rpcport=<port>
      Listen for JSON-RPC connections on <port> (default: 9332 or testnet:
      19332)
 -rpcallowip=<ip>
      Allow JSON-RPC connections from specified source. Valid for <ip> are a
      single IP (e.g. 1.2.3.4), a network/netmask (e.g.
      1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This
      option can be specified multiple times
 -rpcserialversion
      Sets the serialization of raw transaction or block hex returned in
      non-verbose mode, non-segwit(0) or segwit(1) (default: 1)
 -rpcthreads=<n>
      Set the number of threads to service RPC calls (default: 4)

MintCoin.conf Configuration File[edit]

All command-line options (except for -datadir and -conf) may be specified in a configuration file, and all configuration file options may also be specified on the command line. Command-line options override values set in the configuration file.

The configuration file is a list of setting=value pairs, one per line, with optional comments starting with the '#' character.

The configuration file is not automatically created; you can create it using your favorite plain-text editor. By default, the MintCoin binary will look for a file named MintCoin.conf in the MintCoin data directory, but both the data directory and the configuration file path may be changed using the -datadir and -conf command-line arguments.

Operating system Default data directory location Typical path to configuration file
Linux $HOME/.MintCoin/ /home/<username>/.MintCoin/MintCoin.conf
Mac $HOME/Library/Application Support/MintCoin/ /Users/<username>/Library/Application Support/MintCoin/MintCoin.conf
Windows %APPDATA%\MintCoin\ XP -- C:\Documents and Settings\<username>\Application Data\MintCoin\MintCoin.conf

Vista, 7 -- C:\Users\<username>\AppData\Roaming\MintCoin\MintCoin.conf

Note: if running MintCoin in testnet mode, the sub-folder "testnet" will be appended to the data directory automatically.

Sample MintCoin.conf[edit]

Here is a sample MintCoin.conf file.

 # MintCoin.conf configuration file. Lines beginning with # are comments.
 
 
 # Network-related settings:
 
 # Run on the test network instead of the real MintCoin network.
 #testnet=0
 
 # Connect via a socks4 proxy
 #proxy=127.0.0.1:9050
 
 ##############################################################
 ##            Quick Primer on addnode vs connect            ##
 ##  Let's say for instance you use addnode=4.2.2.4          ##
 ##  addnode will connect you to and tell you about the      ##
 ##    nodes connected to 4.2.2.4.  In addition it will tell ##
 ##    the other nodes connected to it that you exist so     ##
 ##    they can connect to you.                              ##
 ##  connect will not do the above when you 'connect' to it. ##
 ##    It will *only* connect you to 4.2.2.4 and no one else.##
 ##                                                          ##
 ##  So if you're behind a firewall, or have other problems  ##
 ##  finding nodes, add some using 'addnode'.                ##
 ##                                                          ##
 ##  If you want to stay private, use 'connect' to only      ##
 ##  connect to "trusted" nodes.                             ##
 ##                                                          ##
 ##  If you run multiple nodes on a LAN, there's no need for ##
 ##  all of them to open lots of connections.  Instead       ##
 ##  'connect' them all to one node that is port forwarded   ##
 ##  and has lots of connections.                            ##
 ##       Thanks goes to [Noodle] on Freenode.               ##
 ##############################################################
 
 # Use as many addnode= settings as you like to connect to specific peers
 #addnode=69.164.218.197
 #addnode=10.0.0.2:9333
 
 # ... or use as many connect= settings as you like to connect ONLY
 # to specific peers:
 #connect=69.164.218.197
 #connect=10.0.0.1:9333
 
 
 # Maximum number of inbound+outbound connections.
 #maxconnections=
 
 
 # JSON-RPC options (for controlling a running MintCoin/mintcoind process)
 
 # server=1 tells MintCoin-QT to accept JSON-RPC commands.
 #server=0
 
 # You must set rpcuser and rpcpassword to secure the JSON-RPC api
 #rpcuser=Ulysseys
 #rpcpassword=YourSuperGreatPasswordNumber_DO_NOT_USE_THIS_OR_YOU_WILL_GET_ROBBED_385593
 
 # How many seconds MintCoin will wait for a complete RPC HTTP request.
 # after the HTTP connection is established. 
 #rpctimeout=30
 
 # By default, only RPC connections from localhost are allowed.  Specify
 # as many rpcallowip= settings as you like to allow connections from
 # other hosts (and you may use * as a wildcard character).
 # NOTE: opening up the RPC port to hosts outside your local
 # trusted network is NOT RECOMMENDED, because the rpcpassword
 # is transmitted over the network unencrypted.
 #rpcallowip=10.1.1.34
 #rpcallowip=192.168.1.*
 
 # Listen for RPC connections on this TCP port:
 #rpcport=9332
 
 # You can use MintCoin or MintCoind to send commands to MintCoin/mintcoind
 # running on another host using this option:
 #rpcconnect=127.0.0.1
 
 # Use Secure Sockets Layer (also known as TLS or HTTPS) to communicate
 # with MintCoin -server or mintcoind
 #rpcssl=1
 
 # OpenSSL settings used when rpcssl=1
 #rpcsslciphers=TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH
 #rpcsslcertificatechainfile=server.cert
 #rpcsslprivatekeyfile=server.pem
 
 
 # Miscellaneous options
 
 # Set gen=1 to attempt to generate MintCoins
 #gen=0
  
 # Pre-generate this many public/private key pairs, so wallet backups will be valid for
 # both prior transactions and several dozen future transactions.
 #keypool=100
 
 # Pay an optional transaction fee every time you send MintCoins.  Transactions with fees
 # are more likely than free transactions to be included in generated blocks, so may
 # be validated sooner.
 #paytxfee=0.00
 
 # Allow direct connections for the 'pay via IP address' feature.
 #allowreceivebyip=1
 
 # Allows mintcoind to operate with the BDB wallet disabled.
 #disablewallet=1
 
 # User interface options
 
 # Start MintCoin minimized
 #min=1
 
 # Minimize to the system tray
 #minimizetotray=1

Related articles[edit]