State of the code
Currently working on updating the software to match BOLT13 rev1.
The Eye of Satoshi (TEOS)
The Eye of Satoshi is a Lightning watchtower compliant with 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 betweenteosandcli.
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) 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).
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 compliant watchtower.
Dependencies
Refer to DEPENDENCIES.md
Installation
Refer to INSTALL.md
Contributing
Refer to CONTRIBUTING.md