Propagation Service Settings
Related Topic: Propagation Service
Configuration Settings
| Setting |
Type |
Default |
Environment Variable |
Usage |
| IPv6Addresses |
string |
"" |
ipv6_addresses |
IPv6 multicast addresses for transaction reception |
| IPv6Interface |
string |
"" |
ipv6_interface |
Network interface for IPv6 multicast (defaults to "en0") |
| GRPCMaxConnectionAge |
time.Duration |
90s |
propagation_grpcMaxConnectionAge |
CRITICAL - gRPC connection lifecycle management |
| HTTPListenAddress |
string |
"" |
propagation_httpListenAddress |
CRITICAL - HTTP server binding, health checks only run if not empty |
| HTTPAddresses |
[]string |
[] |
propagation_httpAddresses |
HTTP client connections |
| AlwaysUseHTTP |
bool |
false |
propagation_alwaysUseHTTP |
CRITICAL - Forces HTTP transport over gRPC |
| HTTPRateLimit |
int |
1024 |
propagation_httpRateLimit |
CRITICAL - HTTP API rate limiting (requests/second) |
| SendBatchSize |
int |
100 |
propagation_sendBatchSize |
Batch processing configuration |
| SendBatchTimeout |
int |
5 |
propagation_sendBatchTimeout |
Batch timeout configuration (milliseconds) |
| GRPCAddresses |
[]string |
[] |
propagation_grpcAddresses |
gRPC client connections |
| GRPCListenAddress |
string |
"" |
propagation_grpcListenAddress |
CRITICAL - gRPC server binding, health checks only run if not empty |
Configuration Dependencies
HTTP Server Management
- When
HTTPListenAddress is not empty, HTTP server starts
HTTPRateLimit controls request rate limiting when HTTP server is active
gRPC Server Management
- When
GRPCListenAddress is not empty, gRPC server starts with connection age management
- Health checks only run if address is configured
GRPCMaxConnectionAge controls connection lifecycle
Transport Selection
AlwaysUseHTTP forces HTTP transport over gRPC for transaction operations
- Affects client-side transport selection in transaction processing
IPv6 Multicast
- When
IPv6Addresses is not empty, starts UDP6 listeners
- Uses
IPv6Interface for network interface selection (defaults to "en0")
Service Dependencies
| Dependency |
Interface |
Usage |
| TxStore |
blob.Store |
CRITICAL - Transaction storage and retrieval |
| ValidatorClient |
validator.ClientI |
CRITICAL - Transaction validation operations |
| BlockchainClient |
blockchain.ClientI |
CRITICAL - Blockchain state verification |
| ValidatorKafkaProducer |
kafka.KafkaAsyncProducerI |
CRITICAL - Validator messaging |
Validation Rules
| Setting |
Validation |
Impact |
| GRPCListenAddress |
Health checks only if not empty |
Service monitoring |
| HTTPListenAddress |
Health checks only if not empty |
Service monitoring |
| IPv6Interface |
Defaults to "en0" if empty |
Network interface selection |
Configuration Examples
Basic Configuration
propagation_grpcListenAddress = ":9905"
propagation_httpListenAddress = ":8080"
HTTP Rate Limiting
propagation_httpRateLimit = 2048
propagation_alwaysUseHTTP = false
IPv6 Multicast
ipv6_addresses = "ff02::1"
ipv6_interface = "eth0"