Skip to content

Latest commit

 

History

History
83 lines (67 loc) · 3.28 KB

File metadata and controls

83 lines (67 loc) · 3.28 KB

The Interbit Manifest File

The Interbit manifest is a JSON file containing a fully-resolved set of declarations about how a network is to be deployed. The manifest is generated automatically by the build command, based on a configuration file.

Important
The manifest should not be altered manually.

The details contained in the manifest are similar to those found in the configuration file, but all variables have been fully resolved to permit deterministic deployments. These fully-resolved variables are covenant hashes, chain IDs, and genesis blocks. With these fully-resolved variables, the manifest contains all of the information required to deploy an Interbit node with consistent chain IDs, and to connect to the network.

Example

Note
The hashes in the example are real SHA1 hashes, but they are invalid.
{% include "manifest.json" %}

Properties

Most of the manifest properties mirror those found in the Interbit configuration file. The two major differences are the manifest and genesisBlocks properties.

peers Array

The list of peer nodes in your network that this node should connect to.

apps Object

Defines the applications that should load blockchains from this manifest into browser nodes, the filesystem path to the built applications, and which peer nodes they should connect to. Each key is an app alias, a string representing a simple name for the application. Each value is a app resolution object.

chains Object

Defines the blockchains that this Interbit network hosts. Each key is a blockchain alias name. Each value is the corresponding blockchain ID.

covenants Object

Defines the covenants required by this Interbit network. Each key is a covenant alias, a string representing a simple name for the covenant. Each value is an object, populated with the following keys:

hash String

The hash of the packed covenant binary.

filename String

The covenant’s filename in the cache of packed binary covenants.

Important
Rebuild the manifest with the build command whenever your build a new version of your covenants. Without this step, the covenants and the manifest’s hashes do not match, and so the covenants are not applied to your blockchains.
genesisBlocks Object

Describes the full configuration for each blockchain (including the root blockchain) in the network. Each key is a blockchain alias. Each value is a fully-resolved genesis block for the respective blockchain, based on the configuration used to generate the manifest.

manifest Object

Describes all of the resolved deployment configuration for the entire network. Each key is a blockchain alias. Each value is a blockchain deployment object, which contains the context required to deploy and configure each blockchain in the network including covenants, joins, and parent/child blockchain relationships.

hash String

The SHA1 hash of the entire manifest. This value maintains the manifest’s integrity from filesystem load to dispatching.