Code Monkey home page Code Monkey logo

whatsat's Introduction

Lightning Network Daemon - special WHATSAT edition

This repo is a fork of lnd that demonstrates how the Lightning Network can be used as an end-to-end encrypted, onion-routed, censorship-resistant, peer-to-peer chat messages protocol.

screencast

Recent changes to the protocol made it easier then before to attach arbitrary data to a payment. This demo leverages that by attaching a text message and a sender signature.

A Lightning payment delivers the message, but no actual money is paid. Because the sender uses a random payment hash, the receiver is not able to settle the payment. The failure message that is returned to the sender serves as a delivery confirmation.

This means that chatting is currently free. However, there is a future in which 'free failures' don't exist anymore. Nodes may start charging a prepaid relay fee and/or start rate limiting sources that produce too many failures. In that case, chatting over Lightning may switch to actually settling the messaging payments and dropping off a few millisats at every hop.

Usage

  • Set up a Lightning Node as usual and open a channel to a well-connected node.

  • Run lncli chat <pubkey> to start chatting with your chosen destination.

    If running lncli chat without a pubkey, a pubkey to send to can be set by typing /<pubkey> in the send box.

Disclaimer

This code only serves to demonstrate the concept and doesn't pass the required quality checks. Use with testnet sats only.

whatsat's People

Contributors

aakselrod avatar alexbosworth avatar alrs avatar andrewshvv avatar bitfurylightning avatar bryanvu avatar cfromknecht avatar cjamthagen avatar crypt-iq avatar flaurida avatar grunch avatar guggero avatar halseth avatar joostjager avatar josephpoon avatar maxfangx avatar mdrollette avatar meshcollider avatar mlerner avatar phlip9 avatar roasbeef avatar rodentrabies avatar roeierez avatar sangaman avatar t4sk avatar tyzbit avatar valentinewallace avatar vapopov avatar wpaulino avatar xsb avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.