Javascript library for publishing and consuming Ethereum packages.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
custom-use-cases
lib
templates
test
.gitignore
.gitmodules
.travis.yml Add travis.yml Jun 14, 2018
README.md
index.js Remove promisify-node Jun 14, 2018
package-lock.json
package.json 0.0.16 Jun 14, 2018

README.md

Ethereum Package Manager / Javascript

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

Overview

This package provides utilities for publishing and consuming Ethereum packages based on the Ethereum Package Manager specification. It is meant to be integrated directly into development tools to support their use of the Ethereum Package Management ecosystem.

Usage

// Require and configure EthPM relative to a package location on disk.
// `host` and `registry` must conform to Javascript Host and Registry interface.
// A "host" is a service that holds the files, like IPFS. A "registry" is a
// service that records package versions that have been published and their
// associated lockfile on the host.
var EthPM = require("ethpm");
var config = EthPM.configure(package_directory, host, registry);

// Install a single package into the current package, denoted by name and version.
// Returns a promise.
EthPM.installDependency(config, package_name, version_range);

// Install all dependencies of the current package.
// Returns a promise.
EthPM.installPackage(config);

// Publish the current package.
// Returns a promise.
// `contract_metadata` is information about published contracts you'd like include
// in this package. See lockfile spec for more information.
EthPM.publishPackage(config, contract_metadata);

Running Tests

$ npm test

Contributors

Initial author: Tim Coulter (@tcoulter)

This is a joint effort by Truffle, Populus, Dapple and Eris.