mirror of
https://github.com/aljazceru/python-teos.git
synced 2025-12-18 06:34:19 +01:00
47 lines
2.1 KiB
Markdown
47 lines
2.1 KiB
Markdown
## State of the code
|
|
|
|
Currently working on updating the software to match [BOLT13 rev1](https://github.com/sr-gi/bolt13).
|
|
|
|
# The Eye of Satoshi (TEOS)
|
|
|
|
The Eye of Satoshi is a Lightning watchtower compliant with [BOLT13](https://github.com/sr-gi/bolt13), written in Python 3.
|
|
|
|
TEOS consists in three main modules:
|
|
|
|
- `teos`: including the tower's main functionality (server-side)
|
|
- `cli`: including a reference command line interface (client-side)
|
|
- `common`: including shared functionality between `teos` and `cli`.
|
|
|
|
Additionally, tests for every module can be found at `tests`.
|
|
|
|
By default, `teos` will run on `regtest`. In order to run it on another network you need to change your `bitcoin.conf` (to run in the proper network) and your `conf.py` to match the network name and rpc port:
|
|
|
|
```
|
|
BTC_RPC_PORT = 18443
|
|
BTC_NETWORK = "regtest"
|
|
```
|
|
|
|
|
|
### Running TEOS
|
|
In order to run `teos` you will need to create a configuration file (follow [INSTALL.md](INSTALL.md)) and run `teosd.py`. Currently you will also need a set of keys (to sign appointments) stored in your data directory.
|
|
|
|
You can use `generate_keys.py` to generate those keys.
|
|
|
|
### Interacting with a TEOS instance
|
|
You can interact with a `teos` instance (either run by yourself or someone else) by using `teos_cli` under `cli`.
|
|
|
|
Since `teos_cli` works independently of `teos`, you will need a separate configuration file for this (follow [cli/INSTALL.md](cli/INSTALL.md)).
|
|
|
|
`teos_cli` will also need an independent set of keys (that can be generated using `generate_keys.py`) as well as the public key of the tower instance (`teos_pk.der`). The same data directory can be used for both if you are running things locally.
|
|
|
|
Notice that `teos_cli` is a simple way to interact with `teos`, but ideally that should be part of your wallet functionality (therefore why they are independent entities). `teos_cli` can be used as an example for how to send data to a [BOLT13](https://github.com/sr-gi/bolt13) compliant watchtower.
|
|
|
|
## Dependencies
|
|
Refer to [DEPENDENCIES.md](DEPENDENCIES.md)
|
|
|
|
## Installation
|
|
|
|
Refer to [INSTALL.md](INSTALL.md)
|
|
|
|
## Contributing
|
|
Refer to [CONTRIBUTING.md](CONTRIBUTING.md) |