NetworkParameters - corda

corda / net.corda.core.node / NetworkParameters

# NetworkParameters

`data class NetworkParameters`

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

#### <init> | `NetworkParameters(minimumPlatformVersion: Int, notaries: List<NotaryInfo>, maxMessageSize: Int, maxTransactionSize: Int, modifiedTime: Instant, epoch: Int, whitelistedContractImplementations: Map<String, List<AttachmentId>>)` `NetworkParameters(minimumPlatformVersion: Int, notaries: List<NotaryInfo>, maxMessageSize: Int, maxTransactionSize: Int, modifiedTime: Instant, epoch: Int, whitelistedContractImplementations: Map<String, List<AttachmentId>>, eventHorizon: Duration)` 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. `NetworkParameters(minimumPlatformVersion: Int, notaries: List<NotaryInfo>, maxMessageSize: Int, maxTransactionSize: Int, modifiedTime: Instant, epoch: Int, whitelistedContractImplementations: Map<String, List<AttachmentId>>, eventHorizon: Duration, packageOwnership: Map<String, PublicKey>)`

### Properties

#### epoch | (AutoAcceptable) Version number of the network parameters. Starting from 1, this will always increment on each new set of parameters. `val epoch: Int`
#### eventHorizon | Time after which nodes will be removed from the network map if they have not been seen during this period `val eventHorizon: Duration`
#### maxMessageSize | Maximum allowed size in bytes of an individual message sent over the wire. `val maxMessageSize: Int`
#### maxTransactionSize | Maximum permitted transaction size in bytes. `val maxTransactionSize: Int`
#### minimumPlatformVersion | Minimum version of Corda platform that is required for nodes in the network. `val minimumPlatformVersion: Int`
#### modifiedTime | (AutoAcceptable) Last modification time of network parameters set. `val modifiedTime: Instant`
#### notaries | List of well known and trusted notary identities with information on validation type. `val notaries: List<NotaryInfo>`
#### packageOwnership | (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. `val packageOwnership: Map<String, PublicKey>`
#### whitelistedContractImplementations | (AutoAcceptable) List of whitelisted jars containing contract code for each contract class. This will be used by net.corda.core.contracts.WhitelistedByZoneAttachmentConstraint. You can learn more about contract constraints here. `val whitelistedContractImplementations: Map<String, List<AttachmentId>>`

### Functions

#### copy | This is to address backwards compatibility of the API, invariant to package ownership addresses bug CORDA-2769 `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): NetworkParameters`
#### toImmutable | `fun toImmutable(): NetworkParameters`
#### toString | `fun toString(): String`