No description
Find a file
Jonathan Zernik 7658a4d95c
Upgrade squeaklib to v013 (#2165)
* Upgrade to squeaklib v0.13

* Allow different squeak types in server reponse

* Add core method for create resqueak.

* Add make resqueak method for squeak store

* Update db migration to include resqueak hash

* Add db method to insert and get resqueak

* Return resqueak as squeak entry in db query method

* Add RPC method for make resqueak

* Got make resqueak modal working in frontend

* Show different content for resqueak in frontend

* Show resqueaed squeak in display

* Show resqueak correctly

* Got resqueak display working on squeak card component

* Fix display for missing resqueaked squeak.

* Fix display for missing resqueaked squeak in squeak card.

* Got resqueak from squeak card working

* Fix prevent default action on resqueak unlock click

* Fix prevent default on make reply squeak in squeak card

* Got number of replies to resqueaked squeak working

* Fix click on squeak card

* Fix too many characters warning message

* Fix click on squeak card image and name and pubkey

* Rename set reply modal state function

* Fix toggle modals for resqueaked squeak

* Fix form submit action for squeak modals

* Include num resqueaks and num resqueaked resqueaks in get squeak entry db query

* Show number of resqueaks in frontend

* Fix distinct count in query for num replies and num resqueaks

* Update resqueaked squeak in slice state

* Update frontend build
2022-04-24 17:54:07 -07:00
.github/workflows Fix name of github workflow for docker build (#1969) 2022-02-27 00:42:24 -08:00
docker Upgrade lnd in docker (#1852) 2021-12-14 06:26:16 -08:00
docs Add lint command to development doc. (#2129) 2022-04-12 02:38:32 -07:00
frontend Upgrade squeaklib to v013 (#2165) 2022-04-24 17:54:07 -07:00
itests Use squeak store to encapsulate all core fns (#2030) 2022-03-26 20:42:42 -07:00
proto Upgrade squeaklib to v013 (#2165) 2022-04-24 17:54:07 -07:00
squeaknode Upgrade squeaklib to v013 (#2165) 2022-04-24 17:54:07 -07:00
tests Upgrade squeaklib to v013 (#2165) 2022-04-24 17:54:07 -07:00
.dockerignore Add get squeaks for address rpc method (#108) 2020-07-21 16:12:26 -07:00
.flake8 Add precommit hooks (#526) 2020-12-28 23:52:32 -08:00
.gitignore Simplify test run in github action (#1921) 2021-12-29 19:18:13 -08:00
.pre-commit-config.yaml Simplify test run in github action (#1921) 2021-12-29 19:18:13 -08:00
CHANGELOG.md Update changelog 2021-11-04 22:01:47 -07:00
config-mainnet.ini Add mainnet config.ini file (#652) 2021-01-14 10:25:37 -08:00
config.ini Move tor configs to separate section (#1629) 2021-10-17 23:11:22 -07:00
createdb.sql Fix serialization of payment hash db (#579) 2021-01-08 00:48:16 -08:00
Dockerfile Use python venv (#1920) 2021-12-29 18:48:53 -08:00
LICENSE Update LICENSE (#71) 2020-07-15 16:00:13 -07:00
Makefile Clean up makefile (#570) 2021-01-06 23:47:50 -08:00
MANIFEST.in Fix package python sdist for pypi (#1796) 2021-11-11 02:59:51 -08:00
PGP.txt Add PGP public key file. (#1935) 2022-01-05 13:13:51 -08:00
README.md Use gif screen capture in readme (#2111) 2022-04-05 00:57:01 -07:00
requirements-dev.txt Simplify test run in github action (#1921) 2021-12-29 19:18:13 -08:00
requirements-itest.txt Upgrade squeaklib to v013 (#2165) 2022-04-24 17:54:07 -07:00
requirements.txt Upgrade squeaklib to v013 (#2165) 2022-04-24 17:54:07 -07:00
setup.cfg Add long description to setup.cfg (#1828) 2021-11-27 22:23:02 -08:00
setup.py Use python venv (#1920) 2021-12-29 18:48:53 -08:00
start-squeaknode.sh Remove sleep from start script (#1294) 2021-09-15 19:02:17 -07:00
torrc Use docker tor simple (#1847) 2021-12-13 11:36:25 -08:00
tox.ini Simplify test run in github action (#1921) 2021-12-29 19:18:13 -08:00

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 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, and is signed by 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

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

[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

Join our Telegram group!

License

Distributed under the MIT License. See LICENSE file.