ethpm-spec

2019-08-16

Ethereum Package Manager Specifications

EthPM Package Specification

Overview

Join the chat at https://gitter.im/ethpm/Lobby

This repository comprises the formal specification and documentation source for the EthPM package manifestdata format.

This data format is designed to be produced/consumed by Ethereum development tools. As such, this repository is intended for tool developers wishing to integrate with EthPM.

Package manifests are JSON-encoded, tightly-packed, with objects’ keys sorted in lexicographic order. Package manifests may live on disk, but are intended to be produced programmatically and uploaded directly to a content-addressable storage network (e.g. IPFS). A package manifest describes a single package, including package name, version, dependencies, and references to distributed source files.

Repository Contents

Examples / Use Cases

Package:owned(prettified)

{
  "manifest_version": "2",
  "version": "1.0.0",
  "package_name": "owned",
  "meta": {
    "license": "MIT",
    "authors": [
      "Piper Merriam <pipermerriam@gmail.com>"
    ],
    "description": "Reusable contracts which implement a privileged 'owner' model for authorization.",
    "keywords": [
      "authorization"
    ],
    "links": {
      "documentation": "ipfs://QmUYcVzTfSwJoigggMxeo2g5STWAgJdisQsqcXHws7b1FW"
    }
  },
  "sources": {
    "./contracts/Owned.sol": "ipfs://Qme4otpS88NV8yQi8TfTP89EsQC5bko3F5N1yhRoi6cwGV"
  }
}

Please see Use Casesfor documented examples of different kinds of packages with varying levels of complexity. Source for use case examples can be found in the examples/directory of this repository.

Specification

The EthPM package manifest format is formally specified as a JSON-Schema.

Please see Package Specificationfor a natural-language description of this schema, or see package.spec.jsonfor the machine-readable version.

Contributing

Building Sphinx docs locally

Requirements: Python 3, pip, make

Fork and clone this repo to get started. Then, in the cloned repo's directory:

  1. pip install -r requirements.txt
  2. cd docs
  3. make html

Docs are written in reStructuredTextand built using the Sphinxdocumentation generator.

HomePage

https://github.com/ethpm/ethpm-spec#readme

Repository

https+https://github.com/ethpm/ethpm-spec


上一篇:json-schema-to-markdown
下一篇:multiaddr
相关教程
关注微信

扫码加入 JavaScript 社区

相关文章

首次访问,需要验证
微信扫码,关注即可
(仅需验证一次)

欢迎加入 JavaScript 社区

号内回复关键字:

回到顶部