Skip to content

parazyd/obelisk

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
res
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

  • git grep -nE "TODO:|BUG:"

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.