The metadata server is responsible for the formation, migration, maintenance and renewal of blockchain storage contracts. Storage contracts are synchronized with the gateway at first setup and thereafter when a contract has to be replaced or new contracts are required to upload more data. By default storage contracts are valid for 3 months. Storage contracts are grouped together into contract-sets of 20 contracts each. When data is uploaded it is uploaded to one specific contract set at a time. Every gateway includes a total 4x redundant contract-sets.
To guarantee availability in production and no Single point of failure (SPOF), a number of measures have been taken on both the gateway & metadata-server;
Erasure coding. 5-of-20. Only 5 hosts are required to reconstruct the file.
Redundant contract sets. As mentioned above each gateway has 4x redundant contract sets client-side in case one contract set becomes unavailable.
Long contract validity. Having a long validity of contract allows the connection to be cut to the metadata-server for long periods of time without impacting availability.
Gateway Isolation Mode (WIP). Isolation mode is the ultimate measure taken when the gateway is cut-off from StoreWise or a partner MDS. If this happens the gateway will cease to attempt sending metadata and switch to cache metadata and handle all storage operations client-side. When a new connection is achieved all metadata-will be re-synchronized with the metadata-server. With to the backup measures listed above, the gateway will be able to continue operation for the duration the blockchain storage contracts are valid.
During nominal operation the gateway communicates with the gateway to exchange blockchain storage contracts and metafiles. To optimize for latency it is recommended to connect with a gateway geographically closest to the gateway.
The following metadata-servers will be available after the Alpha;
North America 🔜
Asia Pacific 🔜
Middle East 🔜
South America 🔜
Once you've selected the metadata-server closest to your gateway, it can be added to the startup command using
For staging please use the following metadata-servers;