tREADME.md - obelisk - Electrum server using libbitcoin as its backend HTML git clone https://git.parazyd.org/obelisk DIR Log DIR Files DIR Refs DIR README DIR LICENSE --- tREADME.md (2149B) --- 1 obelisk 2 ======= 3 4 ![obelisk](res/obelisk.png) 5 6 Python implementation of an [Electrum](https://electrum.org) server 7 using [libbitcoin](https://libbitcoin.info) as a backend. 8 9 [![Tests](https://github.com/parazyd/obelisk/actions/workflows/py.yaml/badge.svg)](https://github.com/parazyd/obelisk/actions/workflows/py.yaml) 10 [![CodeQL](https://github.com/parazyd/obelisk/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/parazyd/obelisk/actions/workflows/codeql-analysis.yml) 11 [![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](LICENSE) 12 [![codecov](https://codecov.io/gh/parazyd/obelisk/branch/master/graph/badge.svg?token=JL5FKYM9IX)](https://codecov.io/gh/parazyd/obelisk) 13 14 Please consider donating to support development: 15 16 ``` 17 bc1q7an9p5pz6pjwjk4r48zke2yfaevafzpglg26mz 18 ``` 19 20 21 TODO 22 ---- 23 24 * git grep -nE "TODO:|BUG:" 25 26 27 Dependencies 28 ------------ 29 30 * Python 3.7 or later 31 * [pyzmq](https://pypi.org/project/pyzmq/) (python3-zmq or dev-python/pyzmq) 32 * [libbitcoin-server](https://github.com/libbitcoin/libbitcoin-server) (optional) 33 34 35 Usage 36 ----- 37 38 Set up [obelisk.cfg](res/obelisk.cfg), and run 39 40 ``` 41 ./run_obelisk ./res/obelisk.cfg 42 ``` 43 44 Obelisk can use either public libbitcoin v4 servers, or your local 45 libbitcoin-server if you have a running installation. Currently, 46 **only testnet v4 public servers are available**, and they're set up 47 as default in the configuration file. 48 49 Obelisk can also be installed with setuptools: 50 51 ``` 52 python3 setup.py install --user 53 ``` 54 55 56 Development 57 ----------- 58 59 The code is written to be short and concise. `run_obelisk` is the 60 entry point to start the server, but most of the actual logic is 61 in `obelisk/protocol.py` and `obelisk/zeromq.py`. `protocol.py` 62 implements the ElectrumX protocol, and `zeromq.py` implements the 63 libbitcoin side of things. 64 65 Before committing code, please run `make format` to format 66 the codebase to a certain code style. This script depends on 67 [yapf](https://github.com/google/yapf). 68 69 It is also recommended to run the test suite and see if anything 70 fails: 71 72 ``` 73 make test 74 ``` 75 76 You can chat about Obelisk on Freenode IRC, either `#electrum` or 77 `#libbitcoin`.