# Sample Server Configuration File for Grin # # When running the grin executable without specifying any command line # arguments, it will look for this file in three places, in the following # order: # # -The working directory # -The directory in which the executable resides # -[user home]/.grin # ######################################### ### SERVER CONFIGURATION ### ######################################### #Server connection details [server] #the address on which services will listen, e.g. Transaction Pool api_http_addr = "127.0.0.1:13413" #the directory, relative to current, in which the grin blockchain #is stored db_root = ".grin" #How to seed this server, can be None, List or WebStatic # #seeding_type = "None" #If seeding_type = List, the list of peers to connect to. # #seeds = ["192.168.0.1:13414","192.168.0.2:13414"] #The chain type, which defines the genesis block and the set of cuckoo #parameters used for mining. Can be: #AutomatedTesting - For CI builds and instant blockchain creation #UserTesting - For regular user testing (cuckoo 16) #Testnet1 - Testnet1 genesis block (cuckoo 16) #Testnet2 - Testnet2 genesis block (cuckoo 30) # chain_type = "Testnet1" #run the node in "full archive" mode (default is fast-sync, pruned node) #archive_mode = false #7 = Bit flags for FULL_NODE, this structure needs to be changed #internally to make it more configurable capabilities = [7] #skip waiting for sync on startup, (optional param, mostly for testing) #skip_sync_wait = false #whether to run the ncurses TUI. Ncurses must be installed and this #will also disable logging to stdout run_tui = true #Whether to run the wallet listener with the server by default run_wallet_listener = true #The P2P server details (i.e. the server that communicates with other #grin server nodes [server.p2p_config] host = "0.0.0.0" port = 13414 #hardcoded peer lists for allow/deny #will *only* connect to peers in allow list #peers_allow = ["192.168.0.1:13414", "192.168.0.2:13414"] #will *never* connect to peers in deny list #peers_deny = ["192.168.0.3:13414", "192.168.0.4:13414"] ######################################### ### LOGGING CONFIGURATION ### ######################################### [logging] # Whether to log to stdout log_to_stdout = true # Log level for stdout: Critical, Error, Warning, Info, Debug, Trace stdout_log_level = "Warning" # Whether to log to a file log_to_file = true # Log level for file: Critical, Error, Warning, Info, Debug, Trace file_log_level = "Info" # Log file path log_file_path = "grin.log" # Whether to append to the log file (true), or replace it on every run (false) log_file_append = true ######################################### ### MINING CONFIGURATION ### ######################################### #Mining details. This section is optional. If it's not here, the server #will default to not mining. [mining] #flag whether mining is enabled enable_mining = true #Whether to use async mode for the miner, if the plugin supports it. #this allows for many searches to be run in parallel, e.g. if the system #has multiple GPUs, or if you want to mine using multiple plugins miner_async_mode = false #The directory in which mining plugins are installed #if not specified, grin will look in the directory /deps relative #to the executable #miner_plugin_dir = "target/debug/plugins" #The amount of time, in seconds, to attempt to mine on a particular #header before stopping and re-collecting transactions from the pool attempt_time_per_block = 90 #the wallet reciever to which coinbase rewards will be sent wallet_listener_url = "http://127.0.0.1:13415" #whether to ignore the reward (mostly for testing) burn_reward = false #testing value, optional #slow_down_in_millis = 30 ######################################### ### CUCKOO MINER PLUGIN CONFIGURATION ### ######################################### # These entries configure instances of cuckoo miner # plugins if the 'use_cuckoo_miner' value above is # set to 'true'. # # Multiple plugins can be specified, (e.g. a cpu # miner and a gpu miner running in parallel). However, # if 'use_async_mode' above is set to 'false', only # the first plugin specified will be used for mining # in single-threaded mode # You'll likely get the best performance using a # single GPU plugin and single CPU plugin in parallel # Parameters can be set per-device. On CPU plugins # you'll likely only be using device 0 (for now), # but in CUDA plugins the device number corresponds # to the device ID. (use nvidia-smi to find this) #The fastest cpu algorithm, but consumes the most memory #Also requires instructions that aren't available on #older processors. In this case, use mean_compat_cpu #instead #[[mining.miner_plugin_config]] #type_filter = "mean_cpu" #[mining.cuckoo_miner_plugin_config.device_parameters.0] #NUM_THREADS = 1 #As above, but for older processors [[mining.miner_plugin_config]] type_filter = "mean_compat_cpu" [mining.miner_plugin_config.device_parameters.0] NUM_THREADS = 1 #note lean_cpu currently has a bug which prevents it from #working with threads > 1 #[[mining.miner_plugin_config]] #type_filter = "lean_cpu" #[mining.miner_plugin_config.device_parameters.0] #NUM_THREADS = 1 #CUDA Miner (Included here for integration only, Not ready for use) #Can currently be used only in Production (30) Mode #This plugin is not built by default. To build: #1) Ensure the latest cuda toolkit is installed # (nvcc should be in your PATH) #2) Uncomment the 'build-cuda-plugin' feature # in pow/Cargo.toml # #Parameters can be set per device, as below. In sync mode #device 0 is currently the only device used. In async mode #device 0 is used by default, and all other devices are #disabled unless explicitly enabled by setting the 'USE_DEVICE' #param to 1 on each device, as demonstrated below. #[[mining.miner_plugin_config]] #type_filter = "cuda" #[mining.miner_plugin_config.device_parameters.0] #USE_DEVICE = 1 # Below are advanced optional per-device tweakable params #N_TRIMS = 240 #N_BLOCKS = 128 #GENU_BLOCKS = 128 #GENU_TPB = 8 #GENV_STAGE1_TPB = 32 #GENV_STAGE2_TPB = 128 #TRIM_STAGE1_TPB = 32 #TRIM_STAGE2_TPB = 96 #RENAME_0_STAGE1_TPB = 32 #RENAME_0_STAGE2_TPB = 64 #RENAME_1_STAGE1_TPB = 32 #RENAME_1_STAGE2_TPB = 128 #TRIM_3_TPB = 32 #RENAME_3_TPB = 8 #[mining.miner_plugin_config.device_parameters.1] #USE_DEVICE = 1 #[mining.miner_plugin_config.device_parameters.2] #USE_DEVICE = 1