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 
5
6 Python implementation of an [Electrum](https://electrum.org) server
7 using [libbitcoin](https://libbitcoin.info) as a backend.
8
9 [](https://github.com/parazyd/obelisk/actions/workflows/py.yaml)
10 [](https://github.com/parazyd/obelisk/actions/workflows/codeql-analysis.yml)
11 [](LICENSE)
12 [](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`.