Home

Awesome

obelisk

obelisk

Python implementation of an Electrum server using libbitcoin as a backend.

Tests CodeQL License: AGPL v3 codecov

Please consider donating to support development:

bc1q7an9p5pz6pjwjk4r48zke2yfaevafzpglg26mz

TODO

Dependencies

Usage

Set up obelisk.cfg, and run

./run_obelisk ./res/obelisk.cfg

Obelisk can use either public libbitcoin v4 servers, or your local libbitcoin-server if you have a running installation. Currently, only testnet v4 public servers are available, and they're set up as default in the configuration file.

Obelisk can also be installed with setuptools:

python3 setup.py install --user

Development

The code is written to be short and concise. run_obelisk is the entry point to start the server, but most of the actual logic is in obelisk/protocol.py and obelisk/zeromq.py. protocol.py implements the ElectrumX protocol, and zeromq.py implements the libbitcoin side of things.

Before committing code, please run make format to format the codebase to a certain code style. This script depends on yapf.

It is also recommended to run the test suite and see if anything fails:

make test

You can chat about Obelisk on Freenode IRC, either #electrum or #libbitcoin.