com.digitalasset.canton.domain.sequencing.config
EthereumLedgerNodeConfig
Companion class EthereumLedgerNodeConfig
object EthereumLedgerNodeConfig extends Serializable
- Alphabetic
- By Inheritance
- EthereumLedgerNodeConfig
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- case class Bip39Wallet(password: Password, phrase: Password, checkNonceBeforeEverySubmission: Boolean = false) extends WalletConfig with Product with Serializable
- case class ClientConfig(clientHost: String, clientPort: Port) extends Product with Serializable
- case class GasConfig(price: BigInt = 0, limit: BigInt = 0x1fffffffffffffL / 1000) extends Product with Serializable
Static gas configuration for all sequencer transactions (including the transaction deploying the sequencer contract) Defaults were picked as suitable for a besu free gas network with up to 1000 transaction per block
Static gas configuration for all sequencer transactions (including the transaction deploying the sequencer contract) Defaults were picked as suitable for a besu free gas network with up to 1000 transaction per block
- price
How much GWei are we willing to pay in gas per transaction
- limit
The gas limit for a single transaction (in gas so the limit of computation cost not ether cost)
- case class RandomWallet() extends WalletConfig with Product with Serializable
- case class SequencerContractConfig(address: String, blockToReadFrom: BigInt, chainId: Long = -1) extends Product with Serializable
- address
Address to which the Sequencer contract was deployed.
- blockToReadFrom
Should usually be the block number (decimal, not hexadecimal number) to which the sequencer contract was deployed. When first starting and initializing a Canton sequencer, we start to read and to look for Sequencer-contract emitted events starting from this block (inclusive). The sequencer persists the last block height it processed, so this value does not need to be updated when simply restarting a sequencer.
- chainId
ChainId as per EIP-155. By default, the ChainId is disabled by setting it to -1. See the Web3j documentation on ChainIds for more details.
- case class TlsConfig(cantonKeyStore: KeyStoreConfig, ethereumCertificatePath: String) extends Product with Serializable
TLS configuration between Canton and Ethereum client.
TLS configuration between Canton and Ethereum client. Only supports using mutual authentication
- cantonKeyStore
The certificate used by Canton when communicating with the Ethereum client
- ethereumCertificatePath
The certificate Canton will expect the Ethereum client to use. Should be a path to the public key in X509 format (".pem")
- case class UTCJsonWallet(password: Password, walletPath: String, checkNonceBeforeEverySubmission: Boolean = false) extends WalletConfig with Product with Serializable
- case class ValidationConfig(checkIfFreeGasNetwork: Boolean = true, blocksBehindBlockchainHead: Long = 500) extends Product with Serializable
Configuration for when Canton should log warnings that the configuration of Canton or the Ethereum network may be faulty.
Configuration for when Canton should log warnings that the configuration of Canton or the Ethereum network may be faulty. This configuration has no functional impact on the Canton sequencer or the Ethereum network.
- checkIfFreeGasNetwork
should the Canton sequencer log a warning if it isn't connected to a free-gas network
- blocksBehindBlockchainHead
when should Canton warn that it is currently processing blocks that are behind the latest block in the blockchain
- sealed trait WalletConfig extends AnyRef
Wallet configuration for the account that will be used for submitting transactions to the deployed Canton sequencer smart contract.
Wallet configuration for the account that will be used for submitting transactions to the deployed Canton sequencer smart contract. Accounts are configurable via a standard web3 wallet (
type="file-based-wallet"
) as well as via a Bip39-based wallet (type="bip-39-based-wallet"
). If no wallet is specified, a random account is generated and used (only recommended for zero-gas networks).Note that by default the Canton integration assumes that it's the only application submitting transaction for a given account and thus assumes the transaction nonce for that account doesn't change except due to Canton-submitted transactions. If you have configured a custom wallet and will submit transactions to the blockchain for the same account from another application, then you need to set
checkNonceBeforeEverySubmission
totrue
. In this case, Canton will query the current account nonce before every transaction submission.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- val defaultSigningTolerance: NonNegativeFiniteDuration
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])