form.node.1.5.8.source-code.application.conf Maven / Gradle / Ivy
The newest version!
# Waves node settings in HOCON
# HOCON specification: https://github.com/lightbend/config/blob/master/HOCON.md
# Unless you know what you're doing, DO NOT use this file as your node's config.
# Use waves-sample.conf in the root of this repository instead.
include "network-defaults.conf"
include "node-kamon.conf"
waves {
# Node base directory
directory = ""
enable-light-mode = false
db {
directory = ${waves.directory}"/data"
store-transactions-by-address = true
store-lease-states-by-address = true
store-invoke-script-results = true
store-state-hashes = false
# Limits the size of caches which are used during block validation. Lower values slightly decrease memory consumption,
# while higher values might increase node performance. Setting this value to 0 disables caching altogether.
max-cache-size = 100000
max-rollback-depth = 2000
# Delete old history entries (Data, WAVES and Asset balances) in this interval before a safe rollback height.
# Comment to disable.
# Affects:
# REST API:
# GET /addresses/balance/$addr/$confirmations - confirmations should be <= 1000 to get a guaranteed result.
# GET /addresses/balance
# POST /addresses/balance
# GET /assets/$asset/distribution/$height/limit/$limit
# GET /debug/balances/history/$addr
# GET /debug/stateWaves/$height
# Explorer tool:
# A WAVES balance history for address.
# AA Asset balance history for address.
# cleanup-interval = 500 # Optimal for Xmx2G
rocksdb {
main-cache-size = 512M
tx-cache-size = 16M
tx-meta-cache-size = 16M
tx-snapshot-cache-size = 16M
api-cache-size=16M
write-buffer-size = 128M
enable-statistics = false
allow-mmap-reads = off
parallelism = 2
max-open-files = 100
}
}
# NTP server
ntp-server = "pool.ntp.org"
# P2P Network settings
network {
# Peers and blacklist storage file
file = ${waves.directory}"/peers.dat"
# If defined, the node will bind to this address and accept the incoming connections. When commented out, the node
# will not accept any incoming connections and will only establish outgoing ones. If you're using UPnP for port
# mapping, make sure to specify the correct address here.
bind-address = "0.0.0.0"
# String with IP address and port to send as external address during handshake. Could be set automatically if UPnP
# is enabled.
#
# If `declared-address` is set, which is the common scenario for nodes running in the cloud, the node will just
# listen to incoming connections on `bind-address:port` and broadcast its `declared-address` to its peers. UPnP
# is supposed to be disabled in this scenario.
#
# If declared address is not set and UPnP is enabled, the node will attempt to connect to an IGD, retrieve its
# external IP address and configure the gateway to allow traffic through. If the node succeeds, the IGD's external
# IP address becomes the node's declared address.
#
# In some cases, you may both set `declared-address` and enable UPnP (e.g. when IGD can't reliably determine its
# external IP address). In such cases the node will attempt to configure an IGD to pass traffic from external port
# to `bind-address:port`. Please note, however, that this setup is not recommended.
# declared-address = "1.2.3.4:6863"
# Port number
port = 6863
# Node name to send during handshake. Comment this string out to set random node name.
# node-name = "default-node-name"
# Node nonce to send during handshake. Should be different if few nodes runs on the same external IP address. Comment this out to set random nonce.
# nonce = 0
# List of IP addresses of well known nodes.
known-peers = []
# How long the information about peer stays in database after the last communication with it
peers-data-residence-time = 1d
# How long peer stays in blacklist after getting in it
black-list-residence-time = 15m
# Breaks a connection if there is no message from the peer during this timeout
break-idle-connections-timeout = 5m
# How many network inbound network connections can be made
max-inbound-connections = 100
# Number of outbound network connections
max-outbound-connections = 100
# Number of connections from single host
max-single-host-connections = 3
# Timeout on network communication with other peers
connection-timeout = 30s
# Size of circular buffer to store unverified (not properly handshaked) peers
max-unverified-peers = 100
# If yes the node requests peers and sends known peers
enable-peers-exchange = yes
# If yes the node can blacklist others
enable-blacklisting = yes
# How often connected peers list should be broadcast
peers-broadcast-interval = 2m
# When accepting connection from remote peer, this node will wait for handshake for no longer than this value. If
# remote peer fails to send handshake within this interval, it gets blacklisted. Likewise, when connecting to a
# remote peer, this node will wait for handshake response for no longer than this value. If remote peer does not
# respond in a timely manner, it gets blacklisted.
handshake-timeout = 30s
suspension-residence-time = 1m
# When a new transaction comes from the network, we cache it and doesn't push this transaction again when it comes
# from another peer.
# This setting setups a timeout to remove an expired transaction in the elimination cache.
received-txs-cache-timeout = 3m
upnp {
# Enable UPnP tunnel creation only if you router/gateway supports it. Useful if your node is running in home
# network. Completely useless if you node is in cloud.
enable = no
# UPnP timeouts
gateway-timeout = 7s
discover-timeout = 3s
}
# Logs incoming and outgoing messages
traffic-logger {
# Codes of transmitted messages to ignore. See MessageSpec.messageCode
ignore-tx-messages = [1, 2, 23, 25, 26, 29, 30]
# Codes of received messages to ignore. See MessageSpec.messageCode
ignore-rx-messages = [1, 2, 25]
}
}
# Wallet settings
wallet {
# Path to wallet file
file = ${waves.directory}"/wallet/wallet.dat"
# Password to protect wallet file
# password = "some string as password"
# The base seed, not an account one!
# By default, the node will attempt to generate a new seed. To use a specific seed, uncomment the following line and
# specify your base58-encoded seed.
# seed = "BASE58SEED"
}
# Blockchain settings
blockchain {
# Blockchain type. Could be TESTNET | MAINNET | CUSTOM. Default value is TESTNET.
type = TESTNET
# 'custom' section present only if CUSTOM blockchain type is set. It's impossible to overwrite predefined 'testnet' and 'mainnet' configurations.
custom {
include "custom-defaults.conf"
}
}
# New blocks generator settings
miner {
# Enable/disable block generation
enable = yes
# Required number of connections (both incoming and outgoing) to attempt block generation. Setting this value to 0
# enables "off-line generation".
quorum = 3
# Enable block generation only in the last block is not older the given period of time
interval-after-last-block-then-generation-is-allowed = 1d
# Mining attempts delay, if no quorum available
no-quorum-mining-delay = 5s
# Interval between microblocks
micro-block-interval = 2s
# Max amount of transactions in micro block
max-transactions-in-micro-block = 255
# Miner references the best microblock which is at least this age
min-micro-block-age = 500ms
# Minimal block generation offset
minimal-block-generation-offset = 0
# Private keys used for mining
private-keys = []
}
# Node's REST API settings
rest-api {
# Enable/disable REST API
enable = yes
# Network address to bind to
bind-address = "127.0.0.1"
# Port to listen to REST API requests
port = 6869
# Hash of API key string
api-key-hash = ""
# CORS headers returned with responses
cors-headers {
# HTTP headers that can be used during the external request
access-control-allow-headers = [ "Authorization", "Content-Type", "X-Requested-With", "Timestamp", "Signature" ]
# Origin that can access the response from requesting code.
# By default any websites are able to use HTTP API.
access-control-allow-origin = "origin-from-request"
# Allowed methods when accessing a resource
access-control-allow-methods = ["OPTIONS", "POST", "PUT", "GET", "DELETE"]
# Enable/disable exposing the response to the frontend JS code when the request's credentials mode is include
access-control-allow-credentials = yes
}
# Max number of transactions
# returned by /transactions/address/{address}/limit/{limit}
transactions-by-address-limit = 1000
transaction-snapshots-limit = 100
distribution-address-limit = 1000
data-keys-request-limit = 1000
asset-details-limit = 100
blocks-request-limit = 100
# The limit of complexity of a function that is not Callable (/utils/script/evaluate)
evaluate-script-complexity-limit = 52000
# Max number of time-limited pool threads (script compile/decompile/estimate)
limited-pool-threads = 2
# Max number of heavy-request-processor pool threads (/transactions/address/{address}/limit/{limit} and others)
# When not configured explicitly, min(4, Runtime.getRuntime.availableProcessors() * 2) threads are used.
# heavy-request-processor-pool-threads = 8
# Minimum number of peers to accept transactions
minimum-peers = 1
}
# Nodes synchronization settings
synchronization {
# How many blocks could be rolled back if fork is detected. If fork is longer than this rollback is impossible.
max-rollback = 100
# Timeout to receive all requested blocks
synchronization-timeout = 60s
# How much time to remember processed block signatures
processed-blocks-cache-timeout = 3m
# Time to live for broadcast score
score-ttl = 90s
# Max baseTarget value. Stop node when baseTarget greater than this param. No limit if it is not defined.
# max-base-target = 200
# Settings for invalid blocks cache
invalid-blocks-storage {
# Maximum elements in cache
max-size = 30000
# Time to store invalid blocks and blacklist their owners in advance
timeout = 5m
}
# History replier caching settings
history-replier {
# Max microblocks to cache
max-micro-block-cache-size = 50
# Max blocks to cache
max-block-cache-size = 20
}
# Utx synchronizer caching settings
utx-synchronizer {
# Max microblocks to cache
network-tx-cache-size = 1000000
# Max scheduler threads
max-threads = 8
# Max pending queue size
max-queue-size = 5000
# Send transaction to peers on broadcast request even if it's already in utx-pool
allow-tx-rebroadcasting = yes
}
# MicroBlock synchronizer settings
micro-block-synchronizer {
# How much time to wait before a new request of a microblock will be done
wait-response-timeout = 2s
# How much time to remember processed microblock signatures
processed-micro-blocks-cache-timeout = 3m
# How much time to remember microblocks and their nodes to prevent same processing
inv-cache-timeout = 45s
}
}
# Unconfirmed transactions pool settings
utx {
# Pool size
max-size = 100000
# Pool size in bytes
max-bytes-size = 52428800 // 50 MB
# Pool size for scripted transactions
max-scripted-size = 5000
# Blacklist transactions from these addresses (Base58 strings)
blacklist-sender-addresses = []
# Allow transfer transactions from the blacklisted addresses to these recipients (Base58 strings)
allow-blacklisted-transfer-to = []
# Prioritize transactions from these addresses (Base58 strings)
fast-lane-addresses = []
# Allow transactions from smart accounts
allow-transactions-from-smart-accounts = true
# Allow skipping checks with highest fee
allow-skip-checks = true
# Allow full transaction validation while utx cleanup
force-validate-in-cleanup = true
# Full execution instead of limited
always-unlimited-execution = false
}
features {
auto-shutdown-on-unsupported-feature = yes
supported = []
}
rewards {
# desired = 0
}
extensions = [
# com.wavesplatform.api.grpc.GRPCServerExtension
]
# How much time to wait for extensions' shutdown
extensions-shutdown-timeout = 5 minutes
# Maximum size of transaction validation error log
max-tx-error-log-size = 1048576 // 1MB
}
# WARNING: No user-configurable settings below this line.
akka {
daemonic = on
loglevel = "INFO"
loggers = ["akka.event.slf4j.Slf4jLogger"]
logging-filter = "akka.event.slf4j.Slf4jLoggingFilter"
log-dead-letters-during-shutdown = false
http.server {
max-connections = 128
request-timeout = 20s
parsing {
max-method-length = 64
max-content-length = 1m
}
}
io.tcp {
direct-buffer-size = 1536 KiB
trace-logging = off
}
}
include "deprecated-settings.conf"
© 2015 - 2025 Weber Informatics LLC | Privacy Policy