Skip to content
Javascript library for publishing and consuming Ethereum packages.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
custom-use-cases Recognize `x-` options in manifest Mar 21, 2017
lib Remove promisify-node Jun 14, 2018
templates Changes needed to wire everything up. Nov 19, 2016
test Lengthen timeouts for CI Jun 14, 2018
.gitmodules Remove submodule. Yuck. Mar 30, 2017
.travis.yml Add travis.yml Jun 14, 2018 Add spec submodule; rename use-cases to custom-use-cases; remove expe… Jan 3, 2017
package-lock.json 0.0.16 Jun 14, 2018
package.json 0.0.16 Jun 14, 2018

Ethereum Package Manager / Javascript

Join the chat at


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.


// 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.

// 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


Initial author: Tim Coulter (@tcoulter)

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

You can’t perform that action at this time.