Skip to main content

Node for squeak protocol

Project description

squeaknode

GitHub release GitHub CI workflow codecov Join the chat at https://gitter.im/squeaknode/squeaknode

A peer-to-peer status feed with posts unlocked by Lightning.

Screen capture

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

[lightning]
backend=lnd
lnd_tls_cert_path=~/.lnd/tls.cert
lnd_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

If you want to use c-lightning as the Lightning Network node backend instead of LND, replace the lightning section with the following:

[lightning]
backend=clightning
clightning_rpc_file=~/.lightning/lightning-rpc

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

Join our Telegram group!

License

Distributed under the MIT License. See LICENSE file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

squeaknode-0.3.5.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

squeaknode-0.3.5-py2.py3-none-any.whl (1.7 MB view details)

Uploaded Python 2 Python 3

File details

Details for the file squeaknode-0.3.5.tar.gz.

File metadata

  • Download URL: squeaknode-0.3.5.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for squeaknode-0.3.5.tar.gz
Algorithm Hash digest
SHA256 1e051dc4c7ddd767e116daee9ab4c7ec0e385a94b5c03a4ccadc63c58cd94594
MD5 29e56639b3ff50a0d8a0c14400ce0400
BLAKE2b-256 c8de6bdc18d1d5d7a3a94cd2f12debcb2eae6df0a1d001b8e9633fdb6be6b94c

See more details on using hashes here.

File details

Details for the file squeaknode-0.3.5-py2.py3-none-any.whl.

File metadata

  • Download URL: squeaknode-0.3.5-py2.py3-none-any.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for squeaknode-0.3.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4846ee6238c024c16d964dff4e4f4abafd759a4a0965581badeef26d791f8e22
MD5 6658f171ed86582515420041acac438c
BLAKE2b-256 78d763cd946e8ec23a2d64ba8574c3b6c6994a4c9296e57a2021a0ae91e344ad

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page