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
Type Name Latest commit message Commit time
Failed to load latest commit information.
config Update ENS scripts for PackageRegistry Sep 12, 2018
docs Revert "Move .rst files to source" May 29, 2018
ens Remove duplicate FIFS abi Jul 26, 2018
migrations Update deployment scripts for contract changes Sep 12, 2018
scripts Small cleanup Jul 19, 2018
test Merge branch 'master' of into release… Oct 29, 2018
.gitignore gitignore .secrets.js / fix wallet config paths Jul 19, 2018
.solcover.js Fix coverage / pin ganache to 6.1.0 Jul 10, 2018
.soliumignore Configure linter Apr 28, 2018
.soliumrc.json Configure linter Apr 28, 2018
package.json Upgrade truffle to next.9 / fix receipt status check Aug 16, 2018
truffle-config.js Add interactivity, colors, spinners Jul 26, 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