A small application that uses your sats to transmit data to other nodes.

Overview

satoshi-read-write

Send data to other nodes in the Lightning Network.

This project mainly serves as a demonstration to the DataSig and DataStruct specs that are about to be proposed to the BLIP repo of Lightning.

Usage

The receiving node must have --accept-keysend enabled in order to accept the spontaneous payments carrying data.

Rename config.sample.yaml to config.yaml and fill in the URL, macaroon path and TLS path for your LND.

Configure the tlv_key for data_sig and data_struct, this needs to be a uint64 number that is odd and greater than 65536.

Note that receiver must also run this application and have the same keys configured in order to normally receive data.

Run npm start.

Commands

  • set <address>: Sets the destination address to transmit data to
  • speak <string>: Sends the given text to the destination.
  • send <filepath>: Sends the contents of the file at given path.
Comments
  • Why not using onion messages?

    Why not using onion messages?

    Just curious I think Onion Messages can be used to partially achieve this. Wouldn't it make more sense to build on top of them? c.f: https://github.com/lightning/bolts/pull/759

    opened by renepickhardt 3
  • Add fragmentset workers

    Add fragmentset workers

    • Adds workers count configuration parameter
    • Adds implementation for asynchronous fragment sending with workers
    • Integrates asynchronous fragment sending to file sending.
    opened by GeorgeTsagk 0
  • Reliable fragment transmission

    Reliable fragment transmission

    • Fix semantics in config.yaml related to fragment sizes. Now only 1 value is configured and that's the static size of all fragments.
    • Changes fragment transmission operation, now fragments are send in sync. Previously the async burst of requests caused LND to stall.
    opened by GeorgeTsagk 0
  • Improve file transfer

    Improve file transfer

    • Adds application messages protofile
    • Encodes messages to byte array before sending
    • Decodes byte array to message upon receiving
    • Files get stored under received_files directory
    opened by GeorgeTsagk 0
  • Add assembly buffers

    Add assembly buffers

    • Adds assembly buffers (assumes no fragment overlaps)
    • Adds default callback for ready data (e.g. when buffer is complete)
    • Adds support for sending files
    opened by GeorgeTsagk 0
  • Add datastruct

    Add datastruct

    • Adds DataStruct encoder/decoder
    • Adds util for fragmenting data buffers to DataStructs
    • Integrates fragmentation to data sending
    • Adds default listener that listens on specified TLVs of configuration
    • Adds verification for received fragments
    opened by GeorgeTsagk 0
Owner
George Tsagkarelis
George Tsagkarelis
✏️ A small jQuery extension to turn a static HTML table into an editable one. For quickly populating a small table with JSON data, letting the user modify it with validation, and then getting JSON data back out.

jquery-editable-table A small jQuery extension to turn an HTML table editable for fast data entry and validation Demo ?? https://jsfiddle.net/torrobin

Tor 7 Jul 31, 2022
Library for calculating where to draw tree nodes, while avoiding overlap.

Tree Grapher Library for calculating where to draw tree nodes, while avoiding overlap. Installation 1) npm install tree-grapher --save-exact The --sav

Stephen Wicklund 1 Feb 7, 2022
Garfield Whatsapp 🐼 Userbot is a button 🦋 bot that operates 24×7 Hour powered By X-nodes server

GARFIELD WHATSAPP USER BOT LATEST VERSION (Button Update ?? And 24×7 hour Working ?? ) New Features and upgrades v8.0 ?? ?? Bot continues to work even

NOIZ Ξ 33 Dec 4, 2022
[WIP] n8n nodes that cover the Zoho "Books" API

n8n-nodes-starter This repo contains example nodes to help you get started building your own custom integrations for n8n. It includes the node linter

Vrishin Patel 6 Nov 26, 2022
The bot used for the official Huguitis Nodes server. Simply an entertainment bot.

HuguitisNodesBot The bot used for the official Huguitis Nodes server. Simply an entertainment bot. You can use the bot but remember to follow the lice

Huguitis Nodes 7 Nov 19, 2022
A fast and powerful http toolkit that take a list of domains to find active domains and other information such as status-code, title, response-time , server, content-type and many other

HTTPFY curently in beta so you may see problems. Please open a Issue on GitHub and report them! A Incredible fast and Powerful HTTP toolkit Report Bug

DevXprite 44 Dec 22, 2022
A small javascript DOM manipulation library based on Jquery's syntax. Acts as a small utility library with the most common functions.

Quantdom JS Quantdom is a very small (about 600 bytes when ran through terser & gzipped) dom danipulation library that uuses a Jquery like syntax and

Sean McQuaid 7 Aug 16, 2022
JSON Visio is data visualization tool for your json data which seamlessly illustrates your data on graphs without having to restructure anything, paste directly or import file.

JSON Visio is data visualization tool for your json data which seamlessly illustrates your data on graphs without having to restructure anything, paste directly or import file.

Aykut Saraç 20.6k Jan 4, 2023
Web based application that uses playerctl in it backend to control remotely your audio using the frontend as remote control.

Linux Remote This is a web based application that uses playerctl in it backend to control remotely your audio using the frontend as remote control. Do

Gabriel Guerra 4 Jul 6, 2022
A table component for your Mantine data-rich applications, supporting asynchronous data loading, column sorting, custom cell data rendering, row context menus, dark theme, and more.

Mantine DataTable A "dark-theme aware" table component for your Mantine UI data-rich applications, featuring asynchronous data loading support, pagina

Ionut-Cristian Florescu 331 Jan 4, 2023
This project is a web app that uses the TVmaze API to retrieve data and display a list of items on the screen.

This project is a web app that uses the TVmaze API to retrieve data and display a list of items on the screen. It also enables people to like and comment on the broadcast. JavaScript, API, Bootstrap, HTML, and CSS3 were used to create this site.

Mihreteab Misganaw 2 Jan 10, 2022
11ty starter: uses md and notion as data sources

eleventy_notion_starter 11ty starter: uses md and notion as data sources. Based on https://github.com/siakaramalegos/11ty-sia-blog. Used to power http

Thiago Margarida 18 Oct 26, 2022
Free to use and not for sale. This repo uses scrape or data.json

Aine-MD This script is free, if caught sold, this script will be deleted immediately. Don't forget to follow my github Script ini gratis, Jika ketahua

Aine 119 Dec 30, 2022
An online .txt file compressor, de-compressor tool which uses Huffman Coding for Lossless data compression.

Text File Compressor De-compressor Web App This webapp uses Huffman Coding for Text Compression and De-compression. Made with JavaScript, HTML5 and CS

Samir Paul 10 Dec 25, 2022
A high-resolution local database that uses precise algorithms to easily record data in local files within a project with persistent JSON and YAML support designed to be easy to set up and use

About A high-resolution local database that uses precise algorithms to easily record data in local files within a project with persistent JSON and YML

Shuruhatik 5 Dec 28, 2022
Decentralized Social Media. Built using Next.js. Web3 integration with Moralis, Metamask and Ethers.js. Also uses Lens Protofcol to get the profile data.

DecentraGram Decentralized Social Media. Built using Next.js. Web3 integration with Moralis, Metamask and Ethers.js. Also uses Lens Protofcol to get t

Didier Peran Ganthier 8 Dec 20, 2022
Application that uses the localStorage to keep the information on the activities that are pending to be done and also those that are completed

Application that uses the localStorage to keep the information on the activities that are pending to be done and also those that are completed. It provides an option to edit activities and also delete them. The clear all applies to those that are marked as completed by selecting the checkbox.

Oscar Bermudez 8 Apr 8, 2022
A full stack application that uses an authentication system to allow FAA Inspectors, Airliners, and Aircraft Technicians to update progress on their work all while keeping a log of records on projects completed.

A full stack application that uses an authentication system to allow FAA Inspectors, Airliners, and Aircraft Technicians to update progress on their work all while keeping a log of records on projects completed.

BinaryBitBytes 3 Jun 13, 2022