pipermerriam / ethereum-function-signature-registry

Registry of 4byte function signatures and their human readable counterparts.
210 stars 45 forks source link

Ethereum Function Signature Database

This project is meant to be a resource for mapping the 4-byte function selectors used by the EVM back to a list of known canonical function signatures that will generate those 4-byte selectors.

The project currently consists of two primary components:

  1. Current website located at https://www.4byte.directory/.
  2. An Ethereum smart contract that houses the signature data. (This portion is a work in progress and is not yet live).

Running the tests

Note: This project is only supported under Python3. If it works in Python2.x that is purely coincidental.

First install the relevant system dependencies.

There are two primary test suites located under the ./tests/ directory.

First you will need to install the requirements.

$ pip install -r requirements.txt -r requirements-dev.txt

To run the full test suite:

$ tox

To run the individual tests suites.

$ py.test tests/web
$ py.test tests/contracts

Serve the site on a development machine

To serve the site on a development machine, bypassing several security measures, run:

python manage.py runserver --settings func_sig_registry.settings_dev