NetworkParameters

data class NetworkParameters(val minimumPlatformVersion: Int, val notaries: List<NotaryInfo>, val maxMessageSize: Int, val maxTransactionSize: Int, val modifiedTime: Instant, val epoch: Int, val whitelistedContractImplementations: Map<String, List<AttachmentId>>, val eventHorizon: Duration, val packageOwnership: Map<String, PublicKey>, val recoveryMaximumBackupInterval: Duration? = null, val confidentialIdentityMinimumBackupInterval: Duration? = null)

Network parameters are a set of values that every node participating in the zone needs to agree on and use to correctly interoperate with each other.

Constructors

Link copied to clipboard
constructor(minimumPlatformVersion: Int, notaries: List<NotaryInfo>, maxMessageSize: Int, maxTransactionSize: Int, modifiedTime: Instant, epoch: Int, whitelistedContractImplementations: Map<String, List<AttachmentId>>)
constructor(minimumPlatformVersion: Int, notaries: List<NotaryInfo>, maxMessageSize: Int, maxTransactionSize: Int, modifiedTime: Instant, epoch: Int, whitelistedContractImplementations: Map<String, List<AttachmentId>>, eventHorizon: Duration)
constructor(minimumPlatformVersion: Int, notaries: List<NotaryInfo>, maxMessageSize: Int, maxTransactionSize: Int, modifiedTime: Instant, epoch: Int, whitelistedContractImplementations: Map<String, List<AttachmentId>>, eventHorizon: Duration, packageOwnership: Map<String, PublicKey>)
constructor(minimumPlatformVersion: Int, notaries: List<NotaryInfo>, maxMessageSize: Int, maxTransactionSize: Int, modifiedTime: Instant, epoch: Int, whitelistedContractImplementations: Map<String, List<AttachmentId>>, eventHorizon: Duration, packageOwnership: Map<String, PublicKey>, recoveryMaximumBackupInterval: Duration? = null, confidentialIdentityMinimumBackupInterval: Duration? = null)

Properties

A default value for the minimum age of a generated confidential identity key before it can be used. This can be overridden in the node configuration or if a more recent database backup is indicated via RPC / shell. It is optional in both the network parameters and the node configuration and if no value is set for either then it is assumed to be zero.

Link copied to clipboard
val epoch: Int

(AutoAcceptable) Version number of the network parameters. Starting from 1, this will always increment on each new set of parameters.

Link copied to clipboard

Time after which nodes will be removed from the network map if they have not been seen during this period.

Link copied to clipboard

Maximum allowed size in bytes of an individual message sent over the wire.

Link copied to clipboard

Maximum permitted transaction size in bytes.

Link copied to clipboard

Minimum version of Corda platform that is required for nodes in the network.

Link copied to clipboard

(AutoAcceptable) Last modification time of network parameters set.

Link copied to clipboard

List of well known and trusted notary identities with information on validation type.

Link copied to clipboard

(AutoAcceptable) List of the network-wide java packages that were successfully claimed by their owners. Any CorDapp JAR that offers contracts and states in any of these packages must be signed by the owner.

Link copied to clipboard

A default value, that will be used by the Ledger Recovery flows to set how far back in time to consider for recovery. The expectation is that a node will restore to a database backup that is no older than this, by default, when attempting a recovery. This value can be overridden by specifying an override to the flow. It can also be overridden if the same parameter is specified, per-node in the node configuration. An override to the flow takes priority in terms of overrides. It is optional in both the network parameters and the node configuration however if no values are set then it needs to be specified in the flow.

Functions

Link copied to clipboard
fun copy(minimumPlatformVersion: Int = this.minimumPlatformVersion, notaries: List<NotaryInfo> = this.notaries, maxMessageSize: Int = this.maxMessageSize, maxTransactionSize: Int = this.maxTransactionSize, modifiedTime: Instant = this.modifiedTime, epoch: Int = this.epoch, whitelistedContractImplementations: Map<String, List<AttachmentId>> = this.whitelistedContractImplementations): NetworkParameters
fun copy(minimumPlatformVersion: Int = this.minimumPlatformVersion, notaries: List<NotaryInfo> = this.notaries, maxMessageSize: Int = this.maxMessageSize, maxTransactionSize: Int = this.maxTransactionSize, modifiedTime: Instant = this.modifiedTime, epoch: Int = this.epoch, whitelistedContractImplementations: Map<String, List<AttachmentId>> = this.whitelistedContractImplementations, eventHorizon: Duration = this.eventHorizon): NetworkParameters
fun copy(minimumPlatformVersion: Int = this.minimumPlatformVersion, notaries: List<NotaryInfo> = this.notaries, maxMessageSize: Int = this.maxMessageSize, maxTransactionSize: Int = this.maxTransactionSize, modifiedTime: Instant = this.modifiedTime, epoch: Int = this.epoch, whitelistedContractImplementations: Map<String, List<AttachmentId>> = this.whitelistedContractImplementations, eventHorizon: Duration = this.eventHorizon, packageOwnership: Map<String, PublicKey> = this.packageOwnership): NetworkParameters

This is to address backwards compatibility of the API, invariant to package ownership addresses bug CORDA-2769

Link copied to clipboard

Returns the public key of the package owner of the contractClassName, or null if not owned.

Link copied to clipboard
Link copied to clipboard
open override fun toString(): String