/mex

Explorer for Content Blockchain

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

MEX - Content Blockchain Explorer

A lightweight Blockchain Explorer for MultiChain based blockchains

NOTE: Work in progress

Development Setup

This project requires python 3, postgres and a MultiChain node with RPC access for local development and testing.

Tested against Multichain 2.0.5 with protocol version 20002.

It is recommended to use a python virtualenv for development. Install dependencies in your activated virtualenv with pip install -r requirements.txt. Create your configuration in mex/settings/config.py (see sample_config.py). Get your development environment up and running with these commands:

fab reset
python -m mex.sync
python manage.py runserver

If you make changes to the django models you can simply run fab reset and it will create a fresh database reflecting your new models. But be aware to only ever use fab reset for development because it will:

  • delete and recreate django migration files
  • drop and recreate a database named mex
  • create a demo superuser (user: admin, password: autogenerated)

When updating your installation with a new version apply migrations with:

fab update

python -m mex.sync starts a separate background process that will synchronize the database with the node.

After starting your the app with python manage.py runserver visit the admin interface at http://127.0.0.0:8000/admin/ and login with the the credentials shown by the output of fab reset.

Roadmap to first release

  • Minimal datamodel for blocks, transactions, inputs, outputs and addresses
  • Synchronization of blockchain data via JSON-RPC
  • Web Frontend
  • Stream Indexing
  • Stream Search by Key
  • Minimal REST api for webfrontend with node bridge/proxy
  • Deployment scripts