Skip to content
forked from luno/moonbeam

Moonbeam is a protocol that uses Bitcoin payment channels to facilitate instant off-chain payments between multi-user platforms.

License

Notifications You must be signed in to change notification settings

verymahler/moonbeam

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Moonbeam

Moonbeam is a protocol that uses Bitcoin payment channels to facilitate instant off-chain payments between multi-user platforms.

Moonbeam doesn't require segwit or larger blocks, and can be deployed on the Bitcoin network today.

This repository contains the protocol specification, documentation and reference implementation.

Introduction

Moonbeam is designed especially for use by multi-user platforms such hosted wallets, exchanges and payment processors. We envisage that these platforms will open Moonbeam channels between one another and route their users’ payments through them.

Even though Moonbeam is a point-to-point system, it is still designed to work in a decentralized way. An address in Moonbeam looks like this:

[email protected]

The @example.com piece means that this address is handled by the example.com domain. Platforms can use these domain names to automatically open Moonbeam channels and send payments without any prior arrangements or agreements, as long as they implement the Moonbeam protocol.

Moonbeam is designed to be easily adopted by users. Moonbeam addresses contain standard Bitcoin addresses so that they can be trivially used with existing Bitcoin software. This also gives platforms flexibility in implementing Moonbeam (e.g. they can implement sending only, receiving only, both, or even selectively per-payment).

Documentation

Overview - High-level overview of the system

Quickstart - Send your first Moonbeam payment on testnet in minutes

Specification - The full protocol specification

Go Package Documentation - Documentation for the reference implementation packages

https://bitcoinmoonbeam.org - Demo server on testnet

Mailing list - Discussions about Moonbeam

Reference implementation

This repository contains a reference client and server implementation written in Go. They can be used standalone but the packages in this repository are primarily designed to be imported into larger applications.

Status

The Moonbeam protocol and reference implementation are still experimental. They may still undergo non-backwards compatible changes. The reference implementation requires further hardening.

Contributing

Improvements to the reference implementation, protocol specifications and documentation are welcome! Pull requests will undergo review before they can be merged.

About

Moonbeam is a protocol that uses Bitcoin payment channels to facilitate instant off-chain payments between multi-user platforms.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.8%
  • Shell 0.2%