Node for squeak protocol
Project description
squeaknode
A peer-to-peer status feed with posts unlocked by Lightning.
Squeaknode allows you to create, view, buy, and sell squeaks.
A squeak is an immutable, signed structure that:
- contains up to 280 utf-8 characters of text, encrypted (can only be decrypted with access to the decryption key obtained by lightning payment)
- contains the height and block hash of the latest bitcoin block
- contains the public key of the author
- contains the public key of the recipient, if the text is end-to-end encrypted
- contains the hash of another squeak, if the squeak is a reply
- can be used to derive a unique hash
The protocol is defined here.
Installation
Requirements
- a Bitcoin node
- an LND node
- Python 3.6 or later
Optional
- a Tor SOCKS5 proxy (you can open Tor Browser and run it in the background)
Step 1. Create the configuration
Create a config.ini file and fill in the relevant sections to connect to your Bitcoin node and LND node:
[node]
network=mainnet
[lnd]
host=localhost
tls_cert_path=~/.lnd/tls.cert
macaroon_path=~/.lnd/data/chain/bitcoin/mainnet/admin.macaroon
[bitcoin]
rpc_host=localhost
rpc_port=8332
rpc_user=devuser
rpc_pass=devpass
[tor]
proxy_ip=localhost
proxy_port=9150
[webadmin]
enabled=true
username=devuser
password=devpass
Add any other configs that you need.
Step 2. Install squeaknode:
pip install squeaknode
Or install from source
python3 -m venv venv
source venv/bin/activate
pip install .
Step 3. Start squeaknode:
squeaknode --config config.ini
Go to http://localhost:12994/ and use the username/password in config.ini to log in.
Test
Unit tests:
Requirements
- tox
make test
Integration tests:
Requirements
- docker-compose
- jq
make itest
Release + Commit Verification
All releases and all maintainer commits as of January 5, 2022 are signed by key D761F27D9B20BA52
(yzernik@gmail.com). The key can be found in this repo and on the Squeaknode website.
Telegram
License
Distributed under the MIT License. See LICENSE file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for squeaknode-0.2.23-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7305e4fb92770afeed7205a0ea76b8f9dcfb03e4b0ecb0fc4cd8886d82e682f |
|
MD5 | 5c1d08520f90f11fa397de76426263dd |
|
BLAKE2b-256 | 7e5bab26db2ed5e24fe79a12b36e3d3227d63d5558d6262a3c749fc8c748fea0 |