commando.html5/node_modules/lnsocket/README.md

2.0 KiB

lnsocket

A simple C library for sending messages over the lightning network

Thanks to Rusty and the clightning project for much of this code, I have adapted it to be more library friendly.

Motivation

I wanted a way to send custom messages to my lightning node, such as RPC. Building this as a simple C library will allow you to speak the lightning network in native applications, like on mobile.

Dependencies

You'll need libtool, autoconf, and automake for the libsodium & secp256k1 submodules, but otherwise there are no dependencies.

You'll need emscripten for the wasm build.

Building

$ make

iOS

$ make ios

This will build lnsocket.a, libsodium.a and libsecp256k1.a under target/ios for arm64 and ios-sim-x86.

WASM/JS/Web

$ make js

This will build lnsocket.js and lnsocket.wasm in target/js so that you can connect to the lightning network from your browser via websockets. See examples/websockets.js for a demo.

NodeJS

$ npm install --save lnsocket

See examples/node.js

Go

There is a Go version of lnsocket written using lnd's brontide1.

You can import it via:

import "github.com/jb55/lnsocket/go"

It is currently used in fiatjaf's makeinvoice go library2 if you want an example of its usage.

C Examples

  • See test.c for a ping/pong example

  • See lnrpc.c for an RPC example

Contributing

Send patches to jb55@jb55.com

$ git config format.subjectPrefix 'PATCH lnsocket'
$ git config sendemail.to 'William Casarin <jb55@jb55.com>'
$ git send-email --annotate HEAD^

See git-send-email.io3 for configuring your mailer

You can open a PR on github4 as well