## darkfid configuration file ## ## Please make sure you go through all the settings so you can configure ## your daemon properly. ## ## The default values are left commented. They can be overridden either by ## uncommenting, or by using the command-line. # Blockchain network to use network = "testnet" ## ===================== ## TESTNET CONFIGURATION ## ===================== # Testnet blockchain network configuration [network_config."testnet"] # Path to the blockchain database directory database = "~/.local/share/darkfi/darkfid/testnet" # Confirmation threshold, denominated by number of blocks threshold = 6 # Max in-memory forks to maintain max_forks = 32 # PoW block production target, in seconds pow_target = 120 # Skip syncing process and start node right away skip_sync = false # Disable transaction's fee verification, used for testing skip_fees = false # Optional sync checkpoint height #checkpoint_height = 0 # Optional sync checkpoint hash #checkpoint = "" ## Testnet JSON-RPC settings [network_config."testnet".rpc] # JSON-RPC listen URL rpc_listen = "tcp://127.0.0.1:18345" # Disabled RPC methods #rpc_disabled_methods = [] ## Testnet management JSON-RPC settings [network_config."testnet".management_rpc] # JSON-RPC listen URL rpc_listen = "tcp://127.0.0.1:18346" # Disabled RPC methods #rpc_disabled_methods = [] ## Testnet JSON-RPC settings for stratum mining requests (optional) #[network_config."testnet".stratum_rpc] # JSON-RPC listen URL (stratum mining) #rpc_listen = "tcp://127.0.0.1:18347" # Disabled RPC methods (stratum mining) #rpc_disabled_methods = [] ## Testnet JSON-RPC settings for p2pool merge mining requests (optional) #[network_config."testnet".mm_rpc] # JSON-RPC listen URL (merge mining) #rpc_listen = "http+tcp://127.0.0.1:18348" # Disabled RPC methods (merge mining) #rpc_disabled_methods = [] ## Testnet P2P network settings [network_config."testnet".net] # Magic Bytes to distinguish the p2p network magic_bytes = [163, 139, 113, 101] # Path to the P2P datastore p2p_datastore = "~/.local/share/darkfi/darkfid/testnet" # Path to a configured hostlist for saving known peers hostlist = "~/.local/share/darkfi/darkfid/testnet/p2p_hostlist.tsv" # Outbound connection slots number, this many connections will be # attempted. (This does not include manual connections) outbound_connections = 8 # Inbound connections slots number, this many active inbound connections # will be allowed. (This does not include manual or outbound connections) #inbound_connections = 0 # Manual connections retry limit, 0 for forever looping #manual_attempt_limit = 0 # Allow localnet hosts localnet = false # Cooling off time for peer discovery when unsuccessful #outbound_peer_discovery_cooloff_time = 30 # Time between peer discovery attempts #outbound_peer_discovery_attempt_time = 5 # Whitelisted network transports for outbound connections active_profiles = ["tcp+tls"] # Transports you want to be mixed (e.g. Tor would be allowed to connect to `tcp://` # if tcp is added to mixed_profiles and tor is added to active_profiles) #mixed_profiles = [] # Tor Socks5 proxy #tor_socks5_proxy = "socks5://127.0.0.1:9050" # Nym Socks5 proxy #nym_socks5_proxy = "socks5://127.0.0.1:1080" # I2p Socks5 proxy #i2p_socks5_proxy = "socks5://127.0.0.1:4447" [network_config."testnet".net.profiles."tcp+tls"] # Seed nodes to connect to for peer discovery and/or adversising our # own external addresses seeds = ["tcp+tls://lilith0.dark.fi:18340", "tcp+tls://lilith1.dark.fi:18340"] # Peer nodes to manually connect to #peers = [] # P2P accept addresses the instance listens on for inbound connections # You can also use an IPv6 address #inbound = ["tcp+tls://0.0.0.0:18340"] # IPv6 version: #inbound = ["tcp+tls://[::]:18340"] # Combined: #inbound = ["tcp+tls://0.0.0.0:18340", "tcp+tls://[::]:18340"] # P2P external addresses the instance advertises so other peers can # reach us and connect to us, as long as inbound addrs are configured. # You can also use an IPv6 address #external_addrs = ["tcp+tls://XXX.XXX.XXX.XXX:18340"] # IPv6 version: #external_addrs = ["tcp+tls://[ipv6 address here]:18340"] # Combined: #external_addrs = ["tcp+tls://XXX.XXX.XXX.XXX:18340", "tcp+tls://[ipv6 address here]:18340"] [network_config."testnet".net.profiles."tor"] # Seed nodes to connect to for peer discovery and/or adversising our # own external addresses seeds = [ "tor://wgxxaifz5gv4iggcflyl67lgmsihffs6bbwobqah4np52t3y3olrnpid.onion:18341", "tor://inx5s3pdzddvgb5ii3oydutmbvw6fvor3oqu65wtxl3pyevtvrdn4had.onion:18341", ] # Peer nodes to manually connect to #peers = [] # P2P accept addresses the instance listens on for inbound connections #inbound = ["tor://127.0.0.1:18341"] [network_config."testnet".net.profiles."i2p"] # Seed nodes to connect to for peer discovery and/or adversising our # own external addresses #seeds = [] # Peer nodes to manually connect to #peers = [] # P2P accept addresses the instance listens on for inbound connections #inbound = ["tcp://127.0.0.1:18342"] # P2P external addresses the instance advertises so other peers can # reach us and connect to us, as long as inbound addrs are configured. #external_addrs = ["i2p://youraddress.b32.i2p:18342"] [network_config."testnet".net.profiles."socks5"] # Seed nodes to connect to for peer discovery and/or adversising our # own external addresses seeds = [ "socks5://127.0.0.1:9050/wgxxaifz5gv4iggcflyl67lgmsihffs6bbwobqah4np52t3y3olrnpid.onion:18341", "socks5://127.0.0.1:9050/inx5s3pdzddvgb5ii3oydutmbvw6fvor3oqu65wtxl3pyevtvrdn4had.onion:18341", ] # Peer nodes to manually connect to #peers = [] [network_config."testnet".net.profiles."socks5+tls"] # Seed nodes to connect to for peer discovery and/or adversising our # own external addresses seeds = [ #"socks5+tls://127.0.0.1:9050/lilith0.dark.fi:18340", #"socks5+tls://127.0.0.1:1080/lilith1.dark.fi:18340" ] # Peer nodes to manually connect to #peers = [] [network_config."testnet".net.profiles."tor+tls"] # Seed nodes to connect to for peer discovery and/or adversising our # own external addresses seeds = [ "tor+tls://lilith0.dark.fi:18340", "tor+tls://lilith1.dark.fi:18340" ] # Peer nodes to manually connect to #peers = [] ## ===================== ## MAINNET CONFIGURATION ## ===================== # Mainnet blockchain network configuration [network_config."mainnet"] # Path to the blockchain database directory database = "~/.local/share/darkfi/darkfid/mainnet" # Confirmation threshold, denominated by number of blocks threshold = 11 # Max in-memory forks to maintain max_forks = 32 # PoW block production target, in seconds pow_target = 120 # Skip syncing process and start node right away skip_sync = false # Disable transaction's fee verification, used for testing skip_fees = false # Optional sync checkpoint height #checkpoint_height = 0 # Optional sync checkpoint hash #checkpoint = "" ## Mainnet JSON-RPC settings [network_config."mainnet".rpc] # JSON-RPC listen URL rpc_listen = "tcp://127.0.0.1:8345" # Disabled RPC methods #rpc_disabled_methods = [] ## Mainnet management JSON-RPC settings [network_config."mainnet".management_rpc] # JSON-RPC listen URL rpc_listen = "tcp://127.0.0.1:8346" # Disabled RPC methods #rpc_disabled_methods = [] ## Mainnet JSON-RPC settings for stratum mining requests (optional) #[network_config."mainnet".stratum_rpc] # JSON-RPC listen URL (stratum mining) #rpc_listen = "tcp://127.0.0.1:8347" # Disabled RPC methods (stratum mining) #rpc_disabled_methods = [] ## Mainnet JSON-RPC settings for p2pool merge mining requests (optional) #[network_config."mainnet".mm_rpc] # JSON-RPC listen URL (merge mining) #rpc_listen = "http+tcp://127.0.0.1:8348" # Disabled RPC methods (merge mining) #rpc_disabled_methods = [] ## Mainnet P2P network settings [network_config."mainnet".net] # Magic Bytes to distinguish the p2p network magic_bytes = [101, 79, 61, 43] # Path to the P2P datastore p2p_datastore = "~/.local/share/darkfi/darkfid/mainnet" # Path to a configured hostlist for saving known peers hostlist = "~/.local/share/darkfi/darkfid/mainnet/p2p_hostlist.tsv" # Outbound connection slots number, this many connections will be # attempted. (This does not include manual connections) outbound_connections = 8 # Inbound connections slots number, this many active inbound connections # will be allowed. (This does not include manual or outbound connections) #inbound_connections = 0 # Manual connections retry limit, 0 for forever looping #manual_attempt_limit = 0 # Allow localnet hosts localnet = false # Cooling off time for peer discovery when unsuccessful #outbound_peer_discovery_cooloff_time = 30 # Time between peer discovery attempts #outbound_peer_discovery_attempt_time = 5 # Nodes to avoid interacting with for the duration of the program, in the # format ["host", ["scheme", "scheme"], [port, port]]. # If scheme is left empty it will default to "tcp+tls". # If ports are left empty all ports from this peer will be blocked. #blacklist = [["example.com", ["tcp"], [8551, 23331]]] # Whitelisted network transports for outbound connections active_profiles = ["tcp+tls"] # Transports you want to be mixed (e.g. Tor would be allowed to connect to `tcp://` # if tcp is added to mixed_profiles and tor is added to active_profiles) #mixed_profiles = [] # Tor Socks5 proxy #tor_socks5_proxy = "socks5://127.0.0.1:9050" # Nym Socks5 proxy #nym_socks5_proxy = "socks5://127.0.0.1:1080" # I2p Socks5 proxy #i2p_socks5_proxy = "socks5://127.0.0.1:4447" [network_config."mainnet".net.profiles."tcp+tls"] # Seed nodes to connect to for peer discovery and/or adversising our # own external addresses seeds = ["tcp+tls://lilith0.dark.fi:8340", "tcp+tls://lilith1.dark.fi:8340"] # Peer nodes to manually connect to #peers = [] # P2P accept addresses the instance listens on for inbound connections # You can also use an IPv6 address #inbound = ["tcp+tls://0.0.0.0:8340"] # IPv6 version: #inbound = ["tcp+tls://[::]:8340"] # Combined: #inbound = ["tcp+tls://0.0.0.0:8340", "tcp+tls://[::]:8340"] # P2P external addresses the instance advertises so other peers can # reach us and connect to us, as long as inbound addrs are configured. # You can also use an IPv6 address #external_addrs = ["tcp+tls://XXX.XXX.XXX.XXX:8340"] # IPv6 version: #external_addrs = ["tcp+tls://[ipv6 address here]:8340"] # Combined: #external_addrs = ["tcp+tls://XXX.XXX.XXX.XXX:8340", "tcp+tls://[ipv6 address here]:8340"] [network_config."mainnet".net.profiles."tor"] # Seed nodes to connect to for peer discovery and/or adversising our # own external addresses #seeds = [] # Peer nodes to manually connect to #peers = [] # P2P accept addresses the instance listens on for inbound connections #inbound = ["tor://127.0.0.1:8341"] [network_config."mainnet".net.profiles."i2p"] # Seed nodes to connect to for peer discovery and/or adversising our # own external addresses #seeds = [] # Peer nodes to manually connect to #peers = [] # P2P accept addresses the instance listens on for inbound connections #inbound = ["tcp://127.0.0.1:8342"] # P2P external addresses the instance advertises so other peers can # reach us and connect to us, as long as inbound addrs are configured. #external_addrs = ["i2p://youraddress.b32.i2p:8342"] [network_config."mainnet".net.profiles."socks5"] # Seed nodes to connect to for peer discovery and/or adversising our # own external addresses #seeds = [] # Peer nodes to manually connect to #peers = [] [network_config."mainnet".net.profiles."socks5+tls"] # Seed nodes to connect to for peer discovery and/or adversising our # own external addresses #seeds = [] # Peer nodes to manually connect to #peers = [] [network_config."mainnet".net.profiles."tor+tls"] # Seed nodes to connect to for peer discovery and/or adversising our # own external addresses #seeds = [] # Peer nodes to manually connect to #peers = [] ## ====================== ## LOCALNET CONFIGURATION ## ====================== # Localnet blockchain network configuration [network_config."localnet"] # Path to the blockchain database directory database = "~/.local/share/darkfi/darkfid/localnet" # Confirmation threshold, denominated by number of blocks threshold = 3 # Max in-memory forks to maintain max_forks = 8 # PoW block production target, in seconds pow_target = 10 # Optional fixed PoW difficulty, used for testing pow_fixed_difficulty = 1 # Skip syncing process and start node right away skip_sync = true # Disable transaction's fee verification, used for testing skip_fees = false # Optional sync checkpoint height #checkpoint_height = 0 # Optional sync checkpoint hash #checkpoint = "" ## Localnet JSON-RPC settings [network_config."localnet".rpc] # JSON-RPC listen URL rpc_listen = "tcp://127.0.0.1:28345" # Disabled RPC methods #rpc_disabled_methods = [] ## Localnet management JSON-RPC settings [network_config."localnet".management_rpc] # JSON-RPC listen URL rpc_listen = "tcp://127.0.0.1:28346" # Disabled RPC methods #rpc_disabled_methods = [] ## Localnet JSON-RPC settings for stratum mining requests (optional) #[network_config."localnet".stratum_rpc] # JSON-RPC listen URL (stratum mining) #rpc_listen = "tcp://127.0.0.1:28347" # Disabled RPC methods (stratum mining) #rpc_disabled_methods = [] ## Localnet JSON-RPC settings for p2pool merge mining requests (optional) #[network_config."localnet".mm_rpc] # JSON-RPC listen URL (merge mining) #rpc_listen = "http+tcp://127.0.0.1:28348" # Disabled RPC methods (merge mining) #rpc_disabled_methods = [] ## Localnet P2P network settings [network_config."localnet".net] # Magic Bytes to distinguish the p2p network magic_bytes = [241, 227, 197, 179] # Path to the P2P datastore p2p_datastore = "~/.local/share/darkfi/darkfid/localnet" # Path to a configured hostlist for saving known peers hostlist = "~/.local/share/darkfi/darkfid/localnet/p2p_hostlist.tsv" # Outbound connection slots number, this many connections will be # attempted. (This does not include manual connections) #outbound_connections = 8 # Inbound connections slots number, this many active inbound connections # will be allowed. (This does not include manual or outbound connections) #inbound_connections = 8 ## White connection percent # gold_connect_count = 2 ## White connection percent # white_connect_percent = 70 # Manual connections retry limit, 0 for forever looping #manual_attempt_limit = 0 # Allow localnet hosts localnet = true # Cooling off time for peer discovery when unsuccessful #outbound_peer_discovery_cooloff_time = 30 # Time between peer discovery attempts #outbound_peer_discovery_attempt_time = 5 # Whitelisted network transports for outbound connections #active_profiles = ["tcp+tls"] # Transports you want to be mixed (e.g. Tor would be allowed to connect to `tcp://` # if tcp is added to mixed_profiles and tor is added to active_profiles) #mixed_profiles = [] # Tor Socks5 proxy #tor_socks5_proxy = "socks5://127.0.0.1:9050" # Nym Socks5 proxy #nym_socks5_proxy = "socks5://127.0.0.1:1080" # I2p Socks5 proxy #i2p_socks5_proxy = "socks5://127.0.0.1:4447" [net.profiles."tcp+tls"] # P2P accept addresses the instance listens on for inbound connections #inbound = ["tcp+tls://0.0.0.0:28340"] # P2P external addresses the instance advertises so other peers can # reach us and connect to us, as long as inbound addrs are configured. #external_addrs = [] # Peer nodes to manually connect to #peers = [] # Seed nodes to connect to for peer discovery and/or adversising our # own external addresses #seeds = [] [net.profiles."tcp"] # P2P accept addresses the instance listens on for inbound connections #inbound = ["tcp://0.0.0.0:28340"] # P2P external addresses the instance advertises so other peers can # reach us and connect to us, as long as inbound addrs are configured. #external_addrs = [] # Peer nodes to manually connect to #peers = [] # Seed nodes to connect to for peer discovery and/or adversising our # own external addresses #seeds = []