moneysocket-go

command module
v0.87.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 30, 2021 License: MIT Imports: 2 Imported by: 0

README

Coverage Status Renovate enabled Build status Build status Go Report Card

Status

This is a golang implementation of the moneysocket protocol that aims to have full integration testing & parity with py & js moneysocket. This project is not yet usable in any state beyond tvl encoding/decoding. The code is a bit of a mess as well since parts of this were torn from private xplorfin repos. If you want to check it out anyway, you can run terminus

Architecture

Testing:

  1. create two accounts with an arbitrary number of sats:
    • terminus-cli create: (returns account-0)
    • terminus-cli create: (returns account-1)
  2. ./terminus-cli listen account-1 -> copy and paste account-1 into the seller wallet consumer
  3. ./terminus-cli listen account-0 -> copy and paste into wallet consumer
  4. Wallet -> provider -> generate beacon -> connect -> copy beacon
  5. paste into my wallet consumer
  6. generate buyer consumer beacon
  7. connect seller app provider to buyer consumer
  8. seller opens store

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package cmd creates a cli for running terminus and relayd from the comand line
Package cmd creates a cli for running terminus and relayd from the comand line
Package integrations emulates various moneysocket-js modules to allow integration tests
Package integrations emulates various moneysocket-js modules to allow integration tests
Package moneysocket defines protocol and system for applications to connect to other applications via a full-duplex pipe and coordinate over paying bolt11s via the Lightning Network.
Package moneysocket defines protocol and system for applications to connect to other applications via a full-duplex pipe and coordinate over paying bolt11s via the Lightning Network.
beacon
Package beacon provides moneysocket Beacon's for communicating various locations and a SharedSeed encoder for end-to-end encryption
Package beacon provides moneysocket Beacon's for communicating various locations and a SharedSeed encoder for end-to-end encryption
beacon/location
Package location contains a common interface for interacting with various Location types and every Location TLV type in the moneysocket protocol
Package location contains a common interface for interacting with various Location types and every Location TLV type in the moneysocket protocol
beacon/util
Package util contains helpers for encoding/decoding tlvs to maintain parity with other moneysocket implementations
Package util contains helpers for encoding/decoding tlvs to maintain parity with other moneysocket implementations
beacon/util/bigsize
Package bigsize emulates the bigsize module of py-moneysocket to achieve parity on various kinds of tlv encodings
Package bigsize emulates the bigsize module of py-moneysocket to achieve parity on various kinds of tlv encodings
config
Package config parses a config from a file.
Package config parses a config from a file.
layer/compat
Package compat provides interfaces for nexuses imported by a lyer to avoid circular imports
Package compat provides interfaces for nexuses imported by a lyer to avoid circular imports
lightning
Package lightning package seeks to provide an interoperable interface for interacting with different lightning clients (e.g.
Package lightning package seeks to provide an interoperable interface for interacting with different lightning clients (e.g.
wad
ws
Package ws package of moneysocket provides common interfaces for constructing websocket clients and services that interact with different nexus layers eventually it might make sense to abstract this out into "drivers" w/ common handlers for rpc, etc.
Package ws package of moneysocket provides common interfaces for constructing websocket clients and services that interact with different nexus layers eventually it might make sense to abstract this out into "drivers" w/ common handlers for rpc, etc.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL