Skip to content

Latest commit

 

History

History
58 lines (47 loc) · 4.44 KB

AIP-2.md

File metadata and controls

58 lines (47 loc) · 4.44 KB
aip title author type category status created dependencies
2
Format of manifest.json DApp file
Roman Kuznetsov <Xo66uT.kr@gmail.com>
Standards Track
Networking
Draft
2018-10-04

Simple Summary

It's very important to think through and approve format of manifest.json file. Information from it will be used at DApp marketplace Smart Contract, stored at IPFS search index for marketplace and others part of Array.io ifrastructure.

Abstract

We can divide parameters on groups:

  1. Used in external systems. Such parameters as name, author_key, stored at Smart Contract.
  2. Used in internal system (Array.io client). Such as index view file, main js file and others. Why we need this separation? Because to the format of the internal parameter is affected by Client code. But when we descibes external parameters we need ti take into consideration how external systems used this parameters.

Motivation

The motivation is simple, think it all out now so that later there are no problems. Change format in the future may cause a lot of troubles.

Specification

DApp information

DApp must provide information for Client application how to install it, what permissions it needed and how it showing marketplace catalog. For this conditions in the DApp archive developer must provide information file - manifest.json.

About manifest.json.

The file is array dictionary, whose contents are a set of keys and values describing different aspects of the DApp. The system uses these keys and values to obtain information about your DApp and how it is configured. All information for The file contents are structured using JSON. By convention, the name of an information list file is manifest.json. This name of this file is case sensitive and must have an initial lowercase letter m. In Array.io DApps, this file resides in the top-level of the DApp archive directory.

Manifest required parameters:

parameter_name type and size description example issue link
title varchar(30) uniq name for DApp "Tic Tac Toe" https://github.com/arrayio/array-io-client/issues/8
author varchar(80) author name and email "Roman Kuznetsov Xo66uT.kr@gmail.com" issue link
version varchar(5) current version of DApp archive "1.0.0" https://github.com/arrayio/array-io-client/issues/14
description varchar(255) text description what DApp do. "This is a good game for all" issue link
permissions array parameters for get access to system Controllers "['web', 'log']" issue link
license varchar(50) information About DAPP license type "GPLv3, LGPLv3, MIT[1][2]" issue link
index varchar(255) path of DApp main view file "index.html" issue link
main varchar(255) path of DApp main js file "main.js" issue link
icon varchar(255) path of DApp main icon file. Size 42px on 42px. "favicon.png" issue link
thumb varchar(255) path of DApp main thumb file. Size 300px on 120px. "thumb.png" issue link
default_language varchar(5) The default language that defines the country of the marketplace "ru-RU" https://github.com/arrayio/array-io-client/issues/8

Manifest optional parameters:

parameter_name type and size description example issue link
tags array parameters for help search DApp at marketplace. "['work', 'tools']" issue link
dependencies array information About DAPP dependency from other packages "{'colors': '^1.1.2', 'concat-stream': '^1.5.0'}" issue link

Rationale

Manifest file also used in google play and app store marketplaces. We must pay attention to theirs AndroidManifest.xml and info.plist files.

Copyright

Copyright and related rights waived via CC0.