Skip to content

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"