Create a Business Network Definition
A business network definition is composed of three major items: * basic metadata for the business network definition (name, version and description) * a set of domain models that define the structure of the participants, assets and transactions within the network * a set of scripts that define business logic
A Business Network Definition has a name (limited to basic ASCII alphanumeric characters and
-), a human-readable description and a version number. The version number for the network should take the form Major.Minor.Micro and
Semantic Versioning principles should be used when incrementing the version number.
The identifier of the network is formed from its name, the
- character and its version number. A valid identifier is therefore
The metadata for a business network definition is read from
package.json, meaning that business network definitions may also be valid
The set of domain models for a business network definition define the types that are valid within the network and outside the network when it is integrated with external systems (for example systems that submit transactions to the network).
A domain model may either be packaged within the business network definition (typically stored under the
models directory), or may be declared in
package.json as an external dependency. You would refer to models via a dependency if you wanted to share them across business network definitions, for example.
The scripts for a business network definition are typically stored under the
Business Network Archive
Prior to deploying or updating a business network definition it must be archived using the ZIP standard. A typical ZIP will contain a
lib folder containing one or more
.js files and a
models folder containing one or more
composer CLI contains commands for creating an archive, deploying business network archives and the
BusinessNetworkDefinition.fromArchive, toArchive and fromDirectory APIs can be used to programmatically create business network definitions.