Registry

The registry enables apps to specify where to find their manifest file that shows what the app is about and how to run it. The registry is a smart contract whose data will typically need to be updated only once to specify the manifest URL.

Manifest file

A sample manifest file looks as follows:

{ "version": "1.0",
  "name": "Super Scoring App",
  "description": "This app provides great risk scores",
  "homepage_url": "http://example.com/super-scoring-app",
  "picture_url": "http://example.com/logo-square.png",
  "address": "0xc25b4ff9eb6f52392eef1e103daacc7519795f01",
  "app_url": "http://api.example.com/super-scoring-app/data",
  "app_reward": 10,
  "app_schema": { "score": 5 },
  "app_dependencies": [
    "0x31bb9d47bc8bf6422ff7dcd2ff53bc90f8f7b009",
    "0x88032398beab20017e61064af3c7c8bd38f4c968"
  ]
}

The manifest file must be serialized as JSON and has the following fields:

  • Version: a version number of the app.
  • Name: a human-readable name for the actor, which will be used in permission dialogs.
  • Description: a human-readable description for the actor, which will be used in permission dialogs along with the name.
  • Homepage URL: a URL where a user can get more information about the app, opt-in, and opt-out.
  • Picture URL: a square picture that represents the actor, which will be used in permission dialogs along with the name and description.
  • Address: the public key of the app.
  • Verifier URL: a URL where to expect verifier functionality. If the actor is not a verifier, it can be omitted.
  • Verifier fee: the expected fee for the verification service, in parts per million. If omitted, zero fee is assumed.
  • App URL: a URL where to expect app functionality. If the actor is not an app, it can be omitted.
  • App reward: the expected reward for the app’s service. If omitted, zero reward is assumed.
  • App schema: the schema to be used by the app when returning its output.
  • App dependencies: a list of address for whom the app needs read permissions to properly run.