moneysocket-go

command module
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 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

To Do:

  1. General cleanup
  2. Cleanup mixed tlv encoding/decoding
  3. use uuid or string consistently

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
moneysocket
beacon/util
in a seperate package because this is used by beacon/locations and beacon/root this should probably be moved to internal if moneysocket (socket) is ever moved to its own package
in a seperate package because this is used by beacon/locations and beacon/root this should probably be moved to internal if moneysocket (socket) is ever moved to its own package
config
we store config seperately from terminus to prevent circular dependency errors
we store config seperately from terminus to prevent circular dependency errors
layer/compat
provides interfaces for nexuses imported by a lyer to avoid circular imports
provides interfaces for nexuses imported by a lyer to avoid circular imports
wad
ws
the websocket 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.
the websocket 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