Skip to content

Instantly share code, notes, and snippets.

@ShmoogleOsukami
Last active October 13, 2022 23:25
Show Gist options
  • Save ShmoogleOsukami/14e9165a4c08138b6c52cce62cb4229c to your computer and use it in GitHub Desktop.
Save ShmoogleOsukami/14e9165a4c08138b6c52cce62cb4229c to your computer and use it in GitHub Desktop.
Hive Consensus witness config. (tinyurl.com/shmooconfig)
#################################################################################
# #
# CHAIN STATE CONFIGURATION (SHARED MEM ETC.) #
# #
#################################################################################
# Shared file size
shared-file-size = 25G
shared-file-dir = "blockchain"
# A 2-precision percentage (0-10000) that defines the threshold for when to
# autoscale the shared memory file. Setting this to 0 disables autoscaling.
# The recommended value for consensus node is 9500 (95%). Full node is 9900 (99%).
shared-file-full-threshold = 9500
# A 2-precision percentage (0-10000) that defines how quickly to scale the shared memory file.
# When autoscaling occurs, the file's size will be increased by this percentage.
# Setting this to 0 disables autoscaling. The recommended value is between 1000 and 2000 (10-20%).
shared-file-scale-rate = 1000
# Target blocks to flush
# flush = 1000
# flush shared memory changes to disk every N blocks
flush-state-interval = 100
# Block Compression
# Compress blocks using zstd as they're added to the block log
enable-block-log-compression = 1
# Block log zstd compression level 0 (fast, low compresion) - 22 (slow, high compression)
block-log-compression-level = 15
# Number of worker threads used to pre-validate transactions and blocks
blockchain-thread-pool-size = 8
#Level of detail of block stat reports: None, Minimal, Regular, Full
block-stats-report-type = FULL
# Where to put block stats reports: DLOG, ILOG, NOTIFY.
block-stats-report-output = ILOG
#################################################################################
# #
# NETWORK CONFIGURATION (SEEDS/PORTS) #
# #
#################################################################################
# Endpoint for P2P node to listen on
p2p-endpoint = 0.0.0.0:2001
# Maxmimum number of incoming connections on P2P endpoint
p2p-max-connections = 200
# Endpoint for websocket RPC to listen on
webserver-http-endpoint = 0.0.0.0:8091
webserver-ws-endpoint = 0.0.0.0:8090
# P2P network parameters. (Default: {"listen_endpoint":"0.0.0.0:0","accept_incoming_connections":true,"wait_if_endpoint_is_busy":true,"private_key":"0000000000000000000000000000000000000000000000000000000000000000","desired_number_of_connections":20,"maximum_number_of_connections":200,"peer_connection_retry_timeout":30,"peer_inactivity_timeout":5,"peer_advertising_disabled":false,"maximum_number_of_blocks_to_handle_at_one_time":200,"maximum_number_of_sync_blocks_to_prefetch":2000,"maximum_blocks_per_peer_during_syncing":200,"active_ignored_request_timeout_microseconds":6000000} )
# p2p-parameters = {"listen_endpoint":"0.0.0.0:0","accept_incoming_connections":true,"wait_if_endpoint_is_busy":true,"private_key":"0000000000000000000000000000000000000000000000000000000000000000","desired_number_of_connections":100,"maximum_number_of_connections":200,"peer_connection_retry_timeout":30,"peer_inactivity_timeout":5,"peer_advertising_disabled":false,"maximum_number_of_blocks_to_handle_at_one_time":200,"maximum_number_of_sync_blocks_to_prefetch":2000,"maximum_blocks_per_peer_during_syncing":200,"active_ignored_request_timeout_microseconds":6000000}
# If you plan to use this server as an actual RPC node with a moderately high volume of requests,
# then you should increase this - between 64 and 256 are sensible thread pool sizes for an RPC node.
webserver-thread-pool-size = 64
################################################################ SEEDS ################################################################
# P2P nodes to connect to on startup (may specify multiple times)
p2p-seed-node = anyx.io:2001 #anyx
p2p-seed-node = hive-seed.arcange.eu:2001 #arcange
p2p-seed-node = hive-seed.lukestokes.info:2001 #lukestokes.mhth
p2p-seed-node = hived.splinterlands.com:2001 #aggroed
p2p-seed-node = hiveseed-se.privex.io:2001 #privex
p2p-seed-node = node.mahdiyari.info:2001 #mahdiyari
p2p-seed-node = rpc.ausbit.dev:2001 #ausbitbank
p2p-seed-node = api.hive.blog:2001 #blocktrades
p2p-seed-node = seed.liondani.com:2016 #liondani
p2p-seed-node = seed.openhive.network:2001 #gtg
p2p-seed-node = hive-seed.roelandp.nl:2001 #roelandp
########################################################### END SEEDS ################################################################
#################################################################################
# #
# PLUGIN/RPC CONFIGURATION #
# #
#################################################################################
# Plugin(s) to enable, may be specified multiple times
plugin = witness wallet_bridge_api
# account_by_key is enabled by default - required to use 'get_witness' and 'get_account' in cli_wallet
plugin = account_by_key account_by_key_api
# required for creating and importing Hive 1.24+ State Snapshots
plugin = state_snapshot
# The location (root-dir) of the snapshot storage, to save/read portable state dumps
snapshot-root-dir = "snapshot"
# Percent of witnesses (0-99) that must be participating in order to produce blocks
required-participation = 33
#################################################################################
# #
# WITNESS CONFIGURATION #
# #
#################################################################################
# name of witness controlled by this node (e.g. initwitness )
# the username MUST be wrapped in double quotes.
# Example: witness = "accountname"
witness = ""
# WIF PRIVATE KEY to be used by one or more witnesses or miners
private-key =
#################################################################################
# #
# LOGGING CONFIGURATION #
# #
#################################################################################
# Whether to print backtrace on SIGSEGV
backtrace = yes
log-appender = {"appender":"stderr","stream":"std_error","time_format": "iso_8601_microseconds"} {"appender":"p2p","file":"logs/p2p/p2p.log", "time_format": "iso_8601_milliseconds"}
log-logger = {"name":"default","level":"info","appender":"stderr"} {"name":"user","level":"debug","appender":"stderr"} {"name":"p2p","level":"warn","appender":"p2p"}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment