Adds register docs and removes API readme

The TEOS-API README is no longer needed after open-sourcing the server
This commit is contained in:
Sergi Delgado Segura
2020-04-04 13:09:19 +02:00
parent 4a65b2524b
commit 7b4ea313c6
2 changed files with 53 additions and 120 deletions

View File

@@ -21,15 +21,26 @@ Refer to [INSTALL.md](INSTALL.md)
#### Commands
The command line interface has, currently, three commands:
The command line interface has, currently, four commands:
- `add_appointment`: registers a json formatted appointment to the tower.
- `register`: registers your user with the tower.
- `add_appointment`: sends a json formatted appointment to the tower.
- `get_appointment`: gets json formatted data about an appointment from the tower.
- `help`: shows a list of commands or help for a specific command.
### register
This commands serves as registration. It sends your public key to the tower to create a subscription (fee atm) and returns a number of available appointment slots in the tower. Toping up the subscription can be done by simply sending a register message again.
Notice that you need to be register before sending any other type of request to the tower.
#### Usage
python teos_cli.py register
### add_appointment
This command is used to register appointments to the watchtower. Appointments **must** be `json` encoded, and match the following format:
This command is used to send appointments to the watchtower. Appointments **must** be `json` encoded, and match the following format:
{ "tx": tx,
"tx_id": tx_id,
@@ -79,26 +90,42 @@ if `-f, --file` **is** specified, then the command expects a path to a json file
**not_found**
[{"locator": appointment_locator,
"status":"not_found"}]
{
"locator": l,
"status": "not_found"
}
**being_watched**
[{"encrypted_blob": eb,
"end_time": e,
"locator": appointment_locator,
"start_time": s,
"status": "being_watched",
"to_self_delay": d}]
{
"locator": l,
"status": "being_watched",
"appointment":
{
"encrypted_blob": eb,
"end_time": e,
"locator": appointment_locator,
"start_time": s,
"status": "being_watched",
"to_self_delay": d
}
}
**dispute_responded**
[{"appointment_end": e,
"dispute_txid": dispute_txid,
"locator": appointment_locator,
"penalty_rawtx": penalty_rawtx,
"penalty_txid": penalty_txid,
"status": "dispute_responded"}]
{
"locator": l,
"status": "dispute_responded",
"appointment":
{
"appointment_end": e,
"dispute_txid": dispute_txid,
"locator": appointment_locator,
"penalty_rawtx": penalty_rawtx,
"penalty_txid": penalty_txid,
"status": "dispute_responded"
}
}
#### Usage
@@ -128,8 +155,13 @@ or
python teos_cli.py help command
## Example
1. Register with the tower.
1. Generate a new dummy appointment. **Note:** this appointment will never be fulfilled (it will eventually expire) since it does not corresopond to a valid transaction. However it can be used to interact with the Eye of Satoshi's API.
```
python teos_cli.py register
```
2. Generate a new dummy appointment. **Note:** this appointment will never be fulfilled (it will eventually expire) since it does not correspond to a valid transaction. However it can be used to interact with the Eye of Satoshi's API.
```
echo '{"tx": "4615a58815475ab8145b6bb90b1268a0dbb02e344ddd483f45052bec1f15b1951c1ee7f070a0993da395a5ee92ea3a1c184b5ffdb2507164bf1f8c1364155d48bdbc882eee0868ca69864a807f213f538990ad16f56d7dfb28a18e69e3f31ae9adad229e3244073b7d643b4597ec88bf247b9f73f301b0f25ae8207b02b7709c271da98af19f1db276ac48ba64f099644af1ae2c90edb7def5e8589a1bb17cc72ac42ecf07dd29cff91823938fd0d772c2c92b7ab050f8837efd46197c9b2b3f", "tx_id": "0b9510d92a50c1d67c6f7fc5d47908d96b3eccdea093d89bcbaf05bcfebdd951", "start_time": 0, "end_time": 0, "to_self_delay": 20}' > dummy_appointment_data.json
@@ -137,24 +169,20 @@ or
That will create a json file that follows the appointment data structure filled with dummy data and store it in `dummy_appointment_data.json`. **Note**: You'll need to update the `start_time` and `end_time` to match valid block heights.
2. Send the appointment to the tower API. Which will then start monitoring for matching transactions.
3. Send the appointment to the tower API. Which will then start monitoring for matching transactions.
```
python teos_cli.py add_appointment -f dummy_appointment_data.json
```
This returns a appointment locator that can be used to get updates about this appointment from the tower.
This returns an appointment locator that can be used to get updates about this appointment from the tower.
3. Test that the tower is still watching the appointment by replacing the appointment locator received into the following command:
4. Test that the tower is still watching the appointment by replacing the appointment locator received into the following command:
```
python teos_cli.py get_appointment <appointment_locator>
```
## the Eye of Satoshi's API
If you wish to read about the underlying API, and how to write your own tool to interact with it, refer to [tEOS-API.md](TEOS-API.md).
## Try our live instance
By default, `teos_cli` will connect to your local instance (running on localhost). There are also a couple of live instances running, one for mainet and one for testnet: