class Lightning

Public Instance Methods

create_invoice(data) click to toggle source

Create Lightning invoice

  • Required Function Parameters:

       data: {
    description: string,
    customerEmail: string,
    tokens: number,
    expires_at: string
     }
# File lib/bitnob/objects/lightning.rb, line 19
def create_invoice(data)
  required_parameters = %w[description customerEmail tokens expires_at]

  check_passed_parameters(required_parameters, data)
  payload = data.to_json

  post_request("#{base_url}#{BaseEndpoints::LN}/createinvoice", payload)
end
decode_payment_request(request) click to toggle source

Decode a BOLT 11 compliant payment request

  • Required Function Parameters:

    request: string
# File lib/bitnob/objects/lightning.rb, line 67
def decode_payment_request(request)
  body = { request: request }
  payload = body.to_json

  post_request("#{base_url}#{BaseEndpoints::LN}/decodepaymentrequest", payload)
end
get_invoice(invoice_id) click to toggle source

Getting Lightning invoice data

  • Required Function Parameters:

    invoice_id: string
# File lib/bitnob/objects/lightning.rb, line 80
def get_invoice(invoice_id)
  body = { id: invoice_id }
  payload = body.to_json

  post_request("#{base_url}#{BaseEndpoints::LN}/getinvoice", payload)
end
initiate_payment(request) click to toggle source

Initiate payment is advised to be run before paying an invoice to calculate fees and check if an invoice has expired.

  • Required Function Parameters:

    request: string
# File lib/bitnob/objects/lightning.rb, line 54
def initiate_payment(request)
  body = { request: request }
  payload = body.to_json

  post_request("#{base_url}#{BaseEndpoints::LN}/initiatepayment", payload)
end
ln_pay(data) click to toggle source
  • Ln Pay

  • Required Function Parameters

data: {
     request: "string",
     reference: "string",
     customerEmail: "string",
     description: "string"
     }
# File lib/bitnob/objects/lightning.rb, line 97
def ln_pay(data)
  payload = data.to_json
  post_request("#{base_url}#{BaseEndpoints::LN}/pay", payload)
end
pay_invoice(data) click to toggle source

Pay Lightning invoice

  • Required Function Parameters:

       data: {
    description: string,
    customerEmail: string,
    request: string,
     }
# File lib/bitnob/objects/lightning.rb, line 39
def pay_invoice(data)
  required_parameters = %w[request customerEmail description]

  check_passed_parameters(required_parameters, data)
  payload = data.to_json

  post_request("#{base_url}#{BaseEndpoints::LN}/pay", payload)
end
probe_for_route(data) click to toggle source
  • Probe For Route

  • Required Function Parameters

data: {
     destination: "string",
     tokens: "string",
     total_mtokens: 0,
     payment: "string"
     }
# File lib/bitnob/objects/lightning.rb, line 112
def probe_for_route(data)
  payload = data.to_json
  post_request("#{base_url}#{BaseEndpoints::LN}/probeforroute", payload)
end
probe_route() click to toggle source
  • Probe Route

# File lib/bitnob/objects/lightning.rb, line 119
def probe_route()
  payload= {}
  post_request("#{base_url}#{BaseEndpoints::LN}/proberoute", paylod.to_json)
end