Skip to main content

Node for squeak protocol

Project description

squeaknode

GitHub CI workflow codecov Join the chat at https://gitter.im/squeaknode/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 structure that:

  • contains 280 utf-8 characters of text
  • optionally contains the hash of another squeak as a reply
  • contains the height and block hash of the latest bitcoin block
  • contains the public key of the author, and is signed by the author
  • is encrypted until a lightning payment unlocks the text
  • has a unique hash that is derived from its contents

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

Update the 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
zeromq_hashblock_port=28334

[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

virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
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

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.1.187.tar.gz (4.2 MB view details)

Uploaded Source

Built Distribution

squeaknode-0.1.187-py2.py3-none-any.whl (4.4 MB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: squeaknode-0.1.187.tar.gz
  • Upload date:
  • Size: 4.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for squeaknode-0.1.187.tar.gz
Algorithm Hash digest
SHA256 790e7afe0adf267e579745375ca645d58c85251658ba2863b0b6f493dc8a2695
MD5 f21a16a2f4965ae00d8c68f255ac278f
BLAKE2b-256 7a3ee52abbef5a38c0af32d24333afb43fb10d3c5cbc241db823822f3ffd169d

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: squeaknode-0.1.187-py2.py3-none-any.whl
  • Upload date:
  • Size: 4.4 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for squeaknode-0.1.187-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 144a596231d3773e05253874fc3cf9fe1c39f748be10c040c3ee1ba13919e51f
MD5 8dc5513f2412b25ff38d18f6983d1134
BLAKE2b-256 3e6ae2f1dfaf0c3c218c5a785f2a3e47758b250c6918ade838af48f66f3d731d

See more details on using hashes here.

Provenance

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