Ethereum Package Registry (Truffle)
Branch: master
Clone or download
gnidan Merge pull request #55 from seesemichaelj/fix-package-name-to-spec
Use the correct variable name per the EIP spec
Latest commit f65b959 Dec 3, 2018


Ethereum Package Registry (Truffle)

Build Status Coverage Status Documentation Status


$ npm install
$ docker pull ethereum/client-go:v1.8.6 # Optional


$ npm test        # vs. ganache-cli
$ npm test:geth   # vs. geth


This repository contains deployment scripts that let you quickly publish your own package registry to a public testnet and authorize your account address as its owner. There's also a small wizard that helps you register a temporary ENS namespace for your Ropsten deployed registry so users and tooling can easily reference it when requesting a package.


Clone the repo and create a .secrets.js file in the project root that looks like this:

module.exports = {
  ropsten: {
    mnemonic: 'use your own twelve word mnemonic here do not use this one',
    infura: "F6tUooiW4thx777DtPsa" // Example Infura API key.
    ENSName: "my-registry"         // Example ENS name (will register as `my-registry.test`
  rinkeby: {
  • Infura API keys are available here
  • A 12 word mnemonic (for testing purposes only) can be generated here


At the command line run:

$ npm run deploy:ropsten

Temporary ENS Name Registration

After deploying a regisry to Ropsten, and setting an ENSName value under the ropsten key in your secrets file, run:

$ npm run ens:register

The name will resolve to your registry's contract address and be valid for 28 days.


$ npm run coverage


For help, see the Solium documentation

$ npm run lint


Docs are automatically built & published to ReadTheDocs on merge at EthPM Package Registry. To build them locally, run:

$ cd docs
$ pip install -r requirements.txt
$ make html