Config file

The online node configuration file is named gocoin.conf
Client application looks for this file in the folder where it is being launched from.
The config file is in JSON encoded format, so the order of the fields does not matter, but their types do.

Filed name Type Default value (if not specified) Description
Testnet bool false Use testnet3 if true
ConnectOnly string "" Connect only to this host/IP (and nowhere else)
Datadir string "%APPDATA%\Bitcoin\gocoin"
or "~/.bitcoin/gocoin"
The data folder for the gocoin client node.
It contains the bock chain, UTXO and peers database, plus some other files used by the client.
UserAgent string "" Overwrite the string reported by the node as User-Agent in the version messages.
When this value is empty, the defualt of /Gocoin:x.y.z/ is used.
TextUI_Enabled bool true Enable TextUI. You will want to disable text interface if you want to start the node as a daemon (with no stdin).
LastTrustedBlock string updated regularly Hash of the highest trused block (used to speed up initial chain sync).
WebUI.Interface string "127.0.0.1:8833" Bind WebUI server to this interface. Change it to ":8833" in order to allow external connections.
WebUI.AllowedIP string "127.0.0.1" List of IP addresses that are allowed to access WebUI. Use "0.0.0.0/0" to let everyone in.
WebUI.ShowBlocks uint32 144 How many recent blocks to show at the Blocks page.
WebUI.AddrListLen uint32 15 How many addresses to show (at the same time) in the address book that pops up at MakeTx page.
WebUI.Title string "Gocoin" Title of the WebUI window as seen in the browser.
WebUI.PayCmdName string "pay_cmd.txt" The file name of the pay script command inside the payment.zip (created at MakeTx page).
Depending on your platform, change .txt extension to .bat or .sh, if prefer convenience over security.
WebUI.ServerMode bool false Enable mode in which a client cannot do certain things (e.g. change configuration).
Net.ListenTCP bool true Accept incoming TCP connections.
Net.TCPPort uint16 0 Zero value means to use the default port, which is 8333 for main net and 18333 for test net.
Note that the current satoshi client has a "feature" that causes it to refuse connecting to any TCP port other than default.
Net.MaxOutCons uint32 9 Maximum number of outgoing TCP connections.
Net.MaxInCons uint32 10 Maximum number of incoming TCP connections.
Net.MaxUpKBps uint 0 Maximum upload speed in kilobytes per second. 0 means unlimited.
Net.MaxDownKBps uint 0 Maximum download speed in kilobytes per second. 0 means unlimited.
Net.MaxBlockAtOnce uint32 3 When a new block appears, (up to) how many peers to ask for its data at the same time.
Net.MinSegwitCons uint32 4 Maintain at least so many connections to nodes indicating support for Segregated Witness (via bit 0x8 in Services).
Net.ExternalIP string "" If the string is a valid IP v4 address, it will be used as addr_from inside version messages.
TXPool.Enabled bool true Enable memory pool (for transactions).
TXPool.AllowMemInputs bool true Accept transactions with unconfirmed inputs to the memory pool.
TXPool.FeePerByte float64 1.0 Required minimum fee per byte to accept a transaction to the memory pool.
TXPool.MaxTxSize uint32 100000 Maximum size of a transaction that would be accepted to the memory pool.
TXPool.MaxSizeMB uint 100 If not zero, the node will keep the mempool size below this value.
TXPool.MaxRejectMB uint 25 If not zero, the node will keep the cache of rejected transaction below this value.
TXPool.MaxRejectCnt uint 5000 If not zero, the node will not keep more than this many records of rejected transaction.
TXPool.SaveOnDisk bool true Save content of memory pool to disk on closing and load it on startup.
TXRoute.Enabled bool true Enable routing of transactions (memory pool must be enabled as well).
TXRoute.FeePerByte float64 0.0 Required minimum fee per byte to route a transaction.
TXRoute.MaxTxSize uint32 100000 Maximum size of a transaction that will be routed to other peers.
TXRoute.MemInputs bool false Route transactions which spend unconfirmed inputs.
Memory.GCPercTrshold int 30 A threshold (in percent) to trigger Go's garbage collector engine.
Memory.UseGoHeap bool false Use native Go heap to store UTXO records. It is slightly faster, but uses more mem.
Memory.MaxCachedBlks uint 200 How many (recently used) blocks shall be kept in RAM.
Memory.CacheOnDisk bool true During chain sync, store bigger blocks on disk (in datadir's "tmpblk/") instead of holding them in RAM.
Memory.MaxDataFileMB uint 1000 Maximum size of single data file in blocks database (0 for unlimited). Used for easy purging of old blocks.
Memory.DataFilesKeep uint32 0 If not zero, keep only such many complete data files of the blocks database (auto purging of the old blocks).
Beeps.NewBlock bool false Beep when a new block is added to the top of the chain (someone has mined a new one).
Beeps.ActiveFork bool false Triple beep when there is a fork in the block chain.
Beeps.MinerID string "" Beep when a new block appears with this string in the coinbase transaction. Empty string to disable.
AllBalances.MinValue uint 10000 The addresses balance database does not include inputs carrying value lover than this many Satoshis.
AllBalances.UseMapCnt int 100 Use hashmap instead of list for addresses that have this many (or more) unspent outputs.
AllBalances.AutoLoad bool true Atomatically enable wallet functionality after the node is launched and synchronized.
DropPeers.DropEachMinutes uint 5 How many minutes between disconnecting the slowest peers. 0 - never drop peers.
DropPeers.BlckExpireHours uint 24 How many hours before blocks received from a peer "expire", in slowest peer calculation.
DropPeers.PingPeriodSec uint 15 How many seconds between sending ping comand to a peer. 0 - do not ping.
Stat.HashrateHrs uint 12 How many hours to look back for the hashrate calculation (the one shown on the home page of WebUI)
Stat.MiningHrs uint 24 How many hours the mining statistics (at WebUI's Miners page) should look back.
Stat.FeesBlks uint 24 How many block down the chain to look for calculating the current average transaction fee.
Stat.BSizeBlks uint 72 How many block down the chain to look for calculating the current average block size.
UTXOSave.SecondsToTake uint 300 While saving UTXO.db to disk, delay the process into at least so many seconds. New block arriving within this period will abort and restart the saving process. 0 saves UTXO.db as fast as possible.
UTXOSave.BlocksToHold uint 6 Skip so many new blocks before auto saving a new UTXO.db to disk.