GithubHelp home page GithubHelp logo

kangu / fulger Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 0.0 945 KB

Tools for a self-sovereign stack on the Lightning Network

Home Page: https://fulger.kangu.ro

License: GNU Affero General Public License v3.0

JavaScript 43.23% Shell 2.88% TypeScript 53.88%
couchdb lightning-network nodejs bitcoin lightning

fulger's Introduction

Fulger

Software stack for handling lightning payments - https://fulger.kangu.ro

Why Bitcoin?

Primarily because it has a proven track record for working and it's inclusive and open to everyone.

Bitcoin at is core is just math and computational technology put together. This means that out of the box it works for everyone, independent of gender, race, age, anything. It's software eating into the world of finance. It's a tool for empowering people with economic freedom and trade across all physical barriers, allowing for secure value transfer and storage across the globe.

Why Lightning?

Scaling the base bitcoin layer to full hyperbitcoinisation is nearly impossible in terms of capacity. Second layer technologies like the Lightning Network which operate on different compromises from a security standpoint can allow though for seamless and cheap micro-payments and fulfillment of the original p2p vision. Other interesting projects like Fedimint are beginning to emerge, and with good interoperability between them the possibilities are endless.

Tools for a self-sovereign stack

Owning and working with bitcoin is all about self-sovereignty at its core. Although running the tools can be challenging, the end goal of the initial vision is to be a full participant in the system.

No matter how much benefits and ease of use a third party can provide (LSP providers like Voltage popping up all around), in the end it's just yet another third party, a dependency in a sense. The true wonder of the bitcoin system is that it was designed to run literally anywhere and by anyone, on your own hardware, which is one of the core unique propositions that bitcoin has over any other projects that appeared downstream from it.

It's become increasingly easier to run nodes and infrastructure with projects like Umbrel where it's practically plug and play. And then operating it brings indeed some challenges, but it's not really that impossibly hard. If some of us managed to get a hang of it we can teach it as well to other around us.

This documentation repository acts as a guide to handling a set of tools that will allow you to claim your self-sovereignty in the digital space.

The stack is composed of:

Rationale for picking the tools:

  • CouchDB is based on the rock-solid Erlang VM and provides great performance and uptime, plus it's natively over HTTP and has a built-in replication system and protocol which could open up many interesting use cases for people syncing data between their devices completely peer to peer.
  • NodeJS is solid and well proven for over a while now in production systems. The main appeal of using it is to have a common language for the backend, database, and also obviously on the frontend itself, that being javascript. The backend can be built in something more powerful and modern like Rust, Elixir or Go and you have a solid foundation, but that one-language advantage for maintenance is lost. The code is running under different engines and runtimes, so you can't always run the same code identical everywhere, but the core logic can be all encapsulated through javascript. Like it was foretold by Jeff Atwood in 2007 :)
  • LND is currently the most popular lightning implementation. technically the API usage should be similar with other implementation, so it can be swapped for something like Core Lightning or Eclair

Installation

You could have all services running on a single machine, but for practical reasons things should be separated like so:

  • Bitcoin + Lightning nodes running on their own dedicated machine, most conveniently through tools like Umbrel
  • CouchDB + NodeJS running on a publicly available host

The bitcoin node is only available on the local network where it's running, the only connection to a public website is through a connection to the CouchDB system that acts as a message and data transmission engine.

Follow the full installation guide for more details.

Why should I use any of this stuff?

It's about owning your stack, having control over its components and moving parts. Yes there are some projects like BTC Pay Server or OpenNode, which abstract away more or less things but they tend to get heavy and be an ever-changing thing not really under your control. There's also a growing market for lightning as a service which abstract away the need for channel management and balancing, which is great but we feel there's value in sticking to the core stack and providing minimal yet good functional value on top of it.

The direction is which this project is going is to provide developers with a functioning btc+lightning bridge on various scenarios, but besides that stay out of the way, plus never crash.

Target audience

For a better bitcoin adoption rate we should target tools, products and services to specific niches of people. This particular set of tools is aimed at software developer professionals (and amateurs alike) who can manage a website for them and/or for clients/friends and want to have an easy to use, understandable and reliable toolset for navigating the lightning ecosystem.

Features coming up

  • backend UI
  • support for micro-transactions vision of how you can monetize your own content completely on your own terms and infrastructure. it feels like 402 functional vision is more possible than ever with tools like Alby
  • templates for small shops and entrepreneur small services like online consulting and mentoring
  • themed qr codes would be eye catchy
  • many more hopefully...

Support us

We could use some extra sats you are willing to share with us, is helps pay the bills and keep things going. We have setup a demo site for donations at support-fulger.kangu.ro will all the sources published on this repository that you can grab and run of modify as your own.

Feedback is welcomed

See the CONTRIBUTIONS document for details on how to actively participate.

Demo implementation

A demo system for simple tipping is running on support-fulger.kangu.ro, with the corresponding repository source here. It's pretty rough at the moment and more like a proof of concept, but it's being improved upon

Further demos are planned for micro-transactions and a more commerce-oriented shop. You can support development by tipping us some sats through the demo implementation.

fulger's People

Stargazers

 avatar andreicrnd avatar Tim Kersey avatar  avatar

Watchers

 avatar  avatar

fulger's Issues

Implement product management UI

Should allow CRUD operations on product documents. Allow for price to be set either to a sats value or to a fiat one (default to sats)

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.