mirror of
https://github.com/0glabs/0g-storage-node.git
synced 2024-12-26 00:05:17 +00:00
245 lines
8.9 KiB
TOML
245 lines
8.9 KiB
TOML
# This is a TOML config file.
|
|
# For more information, see https://github.com/toml-lang/toml
|
|
|
|
#######################################################################
|
|
### Network Config Options ###
|
|
#######################################################################
|
|
|
|
# Data directory where node's keyfile is stored.
|
|
# network_dir = "network"
|
|
|
|
# IP address to listen on.
|
|
# network_listen_address = "0.0.0.0"
|
|
|
|
# The address to broadcast to peers about which address we are listening on. Empty indicates
|
|
# that no discovery address has been set. Generally, configure public IP address along with
|
|
# `network_enr_tcp_port` and `network_enr_udp_port` with default values to enable UDP discovery.
|
|
# network_enr_address = ""
|
|
|
|
# The tcp port to broadcast to peers in order to reach back for libp2p services.
|
|
# network_enr_tcp_port = 1234
|
|
|
|
# The udp port to broadcast to peers in order to reach back for discovery.
|
|
# network_enr_udp_port = 1234
|
|
|
|
# The TCP port that libp2p listens on.
|
|
# network_libp2p_port = 1234
|
|
|
|
# UDP port that discovery listens on.
|
|
# network_discovery_port = 1234
|
|
|
|
# Target number of connected peers.
|
|
# network_target_peers = 50
|
|
|
|
# List of nodes to bootstrap UDP discovery. Note, `network_enr_address`, `network_enr_tcp_port`
|
|
# and `network_enr_udp_port` should be configured as well to enable UDP discovery.
|
|
network_boot_nodes = ["/ip4/54.219.26.22/udp/1234/p2p/16Uiu2HAmPxGNWu9eVAQPJww79J32pTJLKGcpjRMb4Qb8xxKkyuG1","/ip4/52.52.127.117/udp/1234/p2p/16Uiu2HAm93Hd5azfhkGBbkx1zero3nYHvfjQYM2NtiW4R3r5bE2g"]
|
|
|
|
# List of libp2p nodes to initially connect to.
|
|
# network_libp2p_nodes = []
|
|
|
|
# Indicates if the user has set the network to be in private mode. Currently this
|
|
# prevents sending client identifying information over identify.
|
|
# network_private = false
|
|
|
|
# Disables the discovery protocol from starting.
|
|
# network_disable_discovery = false
|
|
|
|
#######################################################################
|
|
### UDP Discovery Config Options ###
|
|
#######################################################################
|
|
# The request timeout for each UDP request.
|
|
# discv5_request_timeout_secs = 5
|
|
|
|
# The timeout after which a `QueryPeer` in an ongoing query is marked unresponsive.
|
|
# Unresponsive peers don't count towards the parallelism limits for a query.
|
|
# Hence, we may potentially end up making more requests to good peers.
|
|
# discv5_query_peer_timeout_secs = 2
|
|
|
|
# The number of retries for each UDP request.
|
|
# discv5_request_retries = 1
|
|
|
|
# The number of peers to request in parallel in a single query.
|
|
# discv5_query_parallelism = 5
|
|
|
|
# Reports all discovered ENR's when traversing the DHT to the event stream.
|
|
# discv5_report_discovered_peers = false
|
|
|
|
# Disables the incoming packet filter.
|
|
# discv5_disable_packet_filter = false
|
|
|
|
# Disable to limit the number of IP addresses from the same
|
|
# /24 subnet in the kbuckets table. This is to mitigate eclipse attacks.
|
|
# discv5_disable_ip_limit = false
|
|
|
|
#######################################################################
|
|
### Log Sync Config Options ###
|
|
#######################################################################
|
|
|
|
# RPC endpoint to sync event logs on EVM compatible blockchain.
|
|
blockchain_rpc_endpoint = "https://rpc-testnet.0g.ai"
|
|
|
|
# Flow contract address to sync event logs.
|
|
log_contract_address = "0x22C1CaF8cbb671F220789184fda68BfD7eaA2eE1"
|
|
|
|
# Block number to sync event logs from blockchain. Generally, this is
|
|
# the block number when flow contract deployed.
|
|
log_sync_start_block_number = 512567
|
|
|
|
# Number of blocks to confirm a transaction.
|
|
# confirmation_block_count = 12
|
|
|
|
# Maximum number of event logs to poll at a time.
|
|
log_page_size = 999
|
|
|
|
# Maximum data size to cache in memory (by default, 100MB).
|
|
# max_cache_data_size = 104857600
|
|
|
|
# TTL to cache data in memory.
|
|
# cache_tx_seq_ttl = 500
|
|
|
|
# The number of retries after a RPC request times out.
|
|
# rate_limit_retries = 100
|
|
|
|
# The nubmer of retries for rate limited responses.
|
|
# timeout_retries = 100
|
|
|
|
# The duration to wait before retry, in ms.
|
|
# initial_backoff = 500
|
|
|
|
# The duration between each paginated getLogs RPC call, in ms.
|
|
# This is set to avoid triggering the throttling mechanism in the RPC server.
|
|
# recover_query_delay = 50
|
|
|
|
# The counter assumed the finalized block behind the latest block.
|
|
# default_finalized_block_count = 100
|
|
|
|
# Remove finalized block trigger interval.
|
|
# remove_finalized_block_interval_minutes = 30
|
|
|
|
# Watch_loop (eth_getLogs) trigger interval.
|
|
# watch_loop_wait_time_ms = 500
|
|
|
|
#######################################################################
|
|
### RPC Config Options ###
|
|
#######################################################################
|
|
|
|
# Whether to provide RPC service.
|
|
# rpc_enabled = true
|
|
|
|
# HTTP server address to bind for public RPC.
|
|
rpc_listen_address = "0.0.0.0:5678"
|
|
|
|
# HTTP server address to bind for admin and debug RPC.
|
|
# rpc_listen_address_admin = "127.0.0.1:5679"
|
|
|
|
# Maximum data size of RPC request body (by default, 100MB).
|
|
# max_request_body_size = 104857600
|
|
|
|
# Number of chunks for a single segment.
|
|
# rpc_chunks_per_segment = 1024
|
|
|
|
# Maximum file size that allowed to cache in memory (by default, 10MB).
|
|
# rpc_max_cache_file_size = 10485760
|
|
|
|
#######################################################################
|
|
### Chunk Pool Config Options ###
|
|
#######################################################################
|
|
|
|
# Maximum number of threads to upload segments of a single file simultaneously.
|
|
# chunk_pool_write_window_size = 4
|
|
|
|
# Maximum data size of cached segment in pool (by default, 4MB).
|
|
# chunk_pool_max_cached_chunks_all = 4194304
|
|
|
|
# Maximum number of threads to upload segments for all files simultaneously.
|
|
# chunk_pool_max_writings = 16
|
|
|
|
# Expiration time to cache uploaded segments in memory.
|
|
# chunk_pool_expiration_time_secs = 300
|
|
|
|
#######################################################################
|
|
### DB Config Options ###
|
|
#######################################################################
|
|
|
|
# Directory to store data.
|
|
# db_dir = "db"
|
|
|
|
#######################################################################
|
|
### Misc Config Options ###
|
|
#######################################################################
|
|
|
|
# Log configuration file.
|
|
# log_config_file = "log_config"
|
|
|
|
# Log directory.
|
|
# log_directory = "log"
|
|
|
|
#######################################################################
|
|
### Mine Config Options ###
|
|
#######################################################################
|
|
|
|
# Mine contract address for incentive.
|
|
mine_contract_address = "0x8B9221eE2287aFBb34A7a1Ef72eB00fdD853FFC2"
|
|
|
|
# Miner ID registered in contract, which is mandatory for incentive.
|
|
# The value should be a hex string of length 64 without 0x prefix.
|
|
miner_id = ""
|
|
|
|
# Miner key is used to sign blockchain transaction for incentive.
|
|
# The value should be a hex string of length 64 without 0x prefix.
|
|
#
|
|
# Note, the corresponding address should have enough tokens to pay
|
|
# transaction gas fee.
|
|
miner_key = ""
|
|
|
|
#######################################################################
|
|
### Sharding Config Options ###
|
|
#######################################################################
|
|
# The max number of chunk entries to store in db.
|
|
# Each entry is 256B, so the db size is roughly limited to
|
|
# `256 * db_max_num_chunks` Bytes.
|
|
# If this limit is reached, the node will update its `shard_position`
|
|
# and store only half data.
|
|
#
|
|
# db_max_num_chunks = 1000000000
|
|
|
|
# The format is <shard_id>/<shard_number>, where the shard number is 2^n.
|
|
# This only applies if there is no stored shard config in db.
|
|
# shard_position = "0/2"
|
|
|
|
# The time interval to check if we should half `shard_position` to prune data.
|
|
#
|
|
# prune_check_time_s = 60
|
|
|
|
# The number of chunk entries to delete in a batch when we prune data.
|
|
#
|
|
# prune_batch_size = 1024
|
|
|
|
# The time interval to wait between each prune batch deletion to avoid
|
|
# IO resource exhaustion.
|
|
#
|
|
# prune_batch_wait_time_ms = 1000
|
|
|
|
#######################################################################
|
|
### File Sync Config Options ###
|
|
#######################################################################
|
|
# [sync]
|
|
|
|
# Enable file sync among peers automatically. When enabled, each node will store
|
|
# all files, and sufficient disk space is required.
|
|
# auto_sync_enabled = false
|
|
|
|
# Maximum number of files in sync from other peers simultaneously.
|
|
# max_sync_files = 8
|
|
|
|
# Timeout to terminate a file sync when automatically sync from other peers.
|
|
# If timeout, terminated file sync will be triggered later.
|
|
# find_peer_timeout = "30s"
|
|
|
|
# Enable to start a file sync via RPC (e.g. `admin_startSyncFile`).
|
|
# sync_file_by_rpc_enabled = true
|
|
|
|
# Enable to start a file sync automatically when a file announcement P2P message received.
|
|
# sync_file_on_announcement_enabled = false
|