Transaction Nonce Manager configuration

Goal

Tx-Nonce is an Orchestrate worker responsible for:

  • Setting transaction nonce.

It consumes messages from an Apache kafka topic, and uses Redis as a distributed cache for nonce values.

Quick-Start

Configure Run

Application can be configured through flags or environment variables, you can run the help run command line.

go run . help run
Usage:
  orchestrate tx-nonce run [flags]

Flags:
      --eth-client-url strings              Ethereum client url
                                            Environment variable: "ETH_CLIENT_URL"
  -h, --help                                help for run
      --kafka-group string                  Address of Kafka server to connect to.
                                            Environment variable: "KAFKA_GROUP" (default "group-e2e")
      --kafka-tls-ca-cert-file string       CA cert file Path.
                                            Environment variable: "KAFKA_TLS_CA_CERT_FILE"
      --kafka-tls-client-cert-file string   Client Cert File Path.
                                            Environment variable: "KAFKA_TLS_CLIENT_CERT_FILE"
      --kafka-tls-client-key-file string    Client key file Path.
                                            Environment variable: "KAFKA_TLS_CLIENT_KEY_FILE"
      --kafka-tls-enabled                   Whether or not to use TLS when connecting to the broker (defaults to false).
                                            Environment variable: "KAFKA_TLS_ENABLED"
      --kafka-tls-insecure-skip-verify      Controls whether a client verifies the server's certificate chain and host name. If InsecureSkipVerify is true, TLS accepts any certificate presented by the server and any host name in that certificate. In this mode, TLS is susceptible to man-in-the-middle attacks. This should be used only for testing.
                                            Environment variable: "KAFKA_TLS_INSECURE_SKIP_VERIFY"
      --kafka-url strings                   URL (addresses) of Kafka server(s) to connect to.
                                            Environment variable: "KAFKA_URL" (default [localhost:9092])
      --nonce-manager-type string           Type of Nonce (one of ["mock" "redis"])
                                            Environment variable: "NONCE_MANAGER_TYPE" (default "redis")
      --redis-url string                    URL (address) of Redis server to connect to.
                                            Environment variable: "REDIS_URL" (default "localhost:6379")
      --topic-tx-nonce string               Kafka topic for envelopes waiting for their transaction nonce set
                                            Environment variable: "TOPIC_TX_NONCE" (default "topic-tx-nonce")
      --topic-tx-recover string             Kafka topic for envelopes waiting for their transaction recovered
                                            Environment variable: "TOPIC_TX_RECOVER" (default "topic-tx-recover")
      --topic-tx-signer string              Kafka topic for envelopes waiting for their transaction signed
                                            Environment variable: "TOPIC_TX_SIGNER" (default "topic-tx-signer")

Warning

♦ Default values can be changed by using environment variables. ♦ Environment variables will be overwritten by Flags values.