Files
sonr/pkl/sonr.chain/Config.pkl
T

155 lines
4.2 KiB
Plaintext
Raw Normal View History

open module sonr.chain.Config
import "package://pkg.pkl-lang.org/pkl-pantry/pkl.toml@1.0.0#/toml.pkl"
class Chain {
version: String = "0.38.5"
proxy_app: String = "tcp://127.0.0.1:26658"
moniker: String = "node0"
db_backend: String = "goleveldb"
db_dir: String = "data"
log_level: String = "info"
log_format: String = "plain"
genesis_file: String = "config/genesis.json"
priv_validator_key_file: String = "config/priv_validator_key.json"
priv_validator_state_file: String = "data/priv_validator_state.json"
priv_validator_laddr: String = ""
node_key_file: String = "config/node_key.json"
abci: String = "socket"
filter_peers: Boolean = false
rpc: Rpc = new {}
p2p: P2p = new {}
mempool: Mempool = new {}
statesync: StateSync = new {}
blocksync: BlockSync = new {}
consensus: Consensus = new {}
storage: Storage = new {}
tx_index: TxIndex = new {}
instrumentation: Instrumentation = new {}
}
class Rpc {
laddr: String = "tcp://0.0.0.0:26657"
cors_allowed_origins: Listing<String> = new {}
cors_allowed_methods: Listing<String> = new {
"HEAD"
"GET"
"POST"
}
cors_allowed_headers: Listing<String> = new {
"Origin"
"Accept"
"Content-Type"
"X-Requested-With"
"X-Server-Time"
}
grpc_laddr: String = ""
grpc_max_open_connections: Int = 900
unsafe: Boolean = false
max_open_connections: Int = 900
max_subscription_clients: Int = 100
max_subscriptions_per_client: Int = 5
experimental_subscription_buffer_size: Int = 200
experimental_websocket_write_buffer_size: Int = 200
experimental_close_on_slow_client: Boolean = false
timeout_broadcast_tx_commit: String = "10s"
max_body_bytes: Int = 1000000
max_header_bytes: Int = 1048576
tls_cert_file: String = ""
tls_key_file: String = ""
pprof_laddr: String = "localhost:6060"
}
class P2p {
laddr: String = "tcp://0.0.0.0:26656"
external_address: String = ""
seeds: String = ""
persistent_peers: String = read("env:SONR_PERSISTENT_PEERS") ?? ""
addr_book_file: String = "config/addrbook.json"
addr_book_strict: Boolean = true
max_num_inbound_peers: Int = 40
max_num_outbound_peers: Int = 10
unconditional_peer_ids: String = ""
persistent_peers_max_dial_period: String = "0s"
flush_throttle_timeout: String = "100ms"
max_packet_msg_payload_size: Int = 1024
send_rate: Int = 5120000
recv_rate: Int = 5120000
pex: Boolean = true
seed_mode: Boolean = false
private_peer_ids: String = ""
allow_duplicate_ip: Boolean = false
handshake_timeout: String = "20s"
dial_timeout: String = "3s"
}
class Mempool {
type: String = "flood"
recheck: Boolean = true
broadcast: Boolean = true
wal_dir: String = ""
size: Int = 5000
max_txs_bytes: Int = 1073741824
cache_size: Int = 10000
`keep-invalid-txs-in-cache`: Boolean = false
max_tx_bytes: Int = 1048576
max_batch_bytes: Int = 0
experimental_max_gossip_connections_to_persistent_peers: Int = 0
experimental_max_gossip_connections_to_non_persistent_peers: Int = 0
}
class StateSync {
enable: Boolean = false
rpc_servers: String = ""
trust_height: Int = 0
trust_hash: String = ""
trust_period: String = "168h0m0s"
discovery_time: String = "15s"
temp_dir: String = ""
chunk_request_timeout: String = "10s"
chunk_fetchers: String = "4"
}
class BlockSync {
version: String = "v0"
}
class Consensus {
wal_file: String = "data/cs.wal/wal"
timeout_propose: String = "3s"
timeout_propose_delta: String = "500ms"
timeout_prevote: String = "1s"
timeout_prevote_delta: String = "500ms"
timeout_precommit: String = "1s"
timeout_precommit_delta: String = "500ms"
timeout_commit: String = "5s"
double_sign_check_height: Int = 0
skip_timeout_commit: Boolean = false
create_empty_blocks: Boolean = true
create_empty_blocks_interval: String = "0s"
peer_gossip_sleep_duration: String = "100ms"
peer_query_maj23_sleep_duration: String = "2s"
}
class Storage {
discard_abci_responses: Boolean = false
}
class TxIndex {
indexer: String = "kv"
`psql-conn`: String = read("env:SONR_PSQL_CONN") ?? ""
}
class Instrumentation {
prometheus: Boolean = false
prometheus_listen_addr: String = ":26660"
max_open_connections: Int = 3
namespace: String = "cometbft"
}
output {
renderer = new toml.Renderer {}
}