This is a SDK for ruby applications that can help you communicate with your Lightning Network node. There is still a lot to do before this gem can be used by others, but I will try to update it and create a stable version as soon as possible. If you would like to help, check out the Contributing section below.
This SDK requires that you have access to the macaroon file and a tls certificate generated by your LND node. By default, these can be found at ~/.lnd/data/chain/bitcoin/mainnet/admin.macaroon
and ~/.lnd/tls.cert.
This SDK does not work with other servers than LND. If your node is running on c-lightning, it wont work.
Add this line to your application's Gemfile:
gem 'lnd_ruby_sdk', '~> 0.1.0'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install lnd_ruby_sdk
Here's an example of how to configure your app. If you are using this gem with Rails, you may create a new initializer in your config/initializers folder named lightning.rb
Lightning.configure do |config|
config.grcp_host = '127.0.0.1'
config.grcp_port = '10009'
config.macaroon_path = '~/.lnd/data/chain/bitcoin/mainnet/admin.macaroon'
config.certificate_path = '~/.lnd/tls.cert'
endSDK documentation and all available commands can be found at https://lnpay.github.io/lnd_ruby_sdk/Lightning.html
After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.
A good way to start would be by running rake spec to check out the list of Pending tests.
| Method | Added to SDK version |
|---|---|
| genseed | |
| initwallet | |
| unlockwallet | |
| changepassword | |
| walletbalance | |
| channelbalance | |
| gettransactions | |
| estimatefee | |
| sendcoins | |
| listunspent | |
| subscribetransactions | |
| sendmany | |
| newaddress | |
| signmessage | |
| verifymessage | |
| connectpeer | |
| disconnectpeer | |
| listpeers | |
| getinfo | 0.1.0 |
| pendingchannels | 0.1.1 |
| listchannels | 0.1.1 |
| subscribechannelevents | |
| closedchannels | 0.1.1 |
| openchannelsync | |
| openchannel | |
| closechannel | |
| abandonchannel | |
| sendpayment | |
| sendpaymentsync | |
| sendtoroute | |
| sendtoroutesync | |
| addinvoice | 0.1.0 |
| listinvoices | 0.1.0 |
| lookupinvoice | |
| subscribeinvoices | 0.1.1 |
| decodepayreq | 0.1.0 |
| listpayments | |
| deleteallpayments | |
| describegraph | |
| getchaninfo | |
| getnodeinfo | 0.1.1 |
| queryroutes | |
| getnetworkinfo | 0.1.1 |
| stopdaemon | |
| subscribechannelgraph | |
| debuglevel | |
| feereport | |
| updatechannelpolicy | |
| forwardinghistory | |
| exportchannelbackup | |
| exportallchannelbackups | |
| verifychanbackup | |
| restorechannelbackups | |
| subscribechannelbackups |
Bug reports and pull requests are welcome on GitHub at https://github.com/lnpay/lnd_ruby_sdk.
The gem is available as open source under the terms of the MIT License.