mirror of
https://github.com/aljazceru/breez-sdk-docs.git
synced 2025-12-17 13:54:20 +01:00
python ci
This commit is contained in:
@@ -1,15 +0,0 @@
|
||||
from breez_sdk import BlockingBreezServices
|
||||
import logging
|
||||
import breez_sdk
|
||||
|
||||
sdk_services = BlockingBreezServices
|
||||
|
||||
|
||||
try:
|
||||
# ANCHOR: buy-btc
|
||||
req = breez_sdk.BuyBitcoinRequest(breez_sdk.BuyBitcoinProvider.MOONPAY)
|
||||
buy_bitcoin_resp = sdk_services.buy_bitcoin(req)
|
||||
# ANCHOR_END: buy-btc
|
||||
except Exception as error:
|
||||
logging.error(error)
|
||||
raise
|
||||
92
snippets/python_snippets/main.py
Executable file
92
snippets/python_snippets/main.py
Executable file
@@ -0,0 +1,92 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
|
||||
import breez_sdk
|
||||
from src.getting_started import getting_started,getting_started_node_info
|
||||
from src.connecting_lsp import get_lsp_info, connect_lsp
|
||||
from src.buy_btc import buy
|
||||
from src.send_onchain import get_current_fees, list_current_fees, check_reverse_swap_status, start_reverse_swap
|
||||
from src.static_channel_backup import retrieve_backup_files
|
||||
from src.send_spontaneous_payment import send_spontaneous_payment
|
||||
from src.receive_payment import receive_payment
|
||||
from src.receive_onchain import generate_receive_onchain_address, get_in_progress_swap, list_refundables, execute_refund, get_channel_opening_fees
|
||||
from src.fiat_currencies import list_supported_fiat_currencies, get_current_rates
|
||||
from src.lnurl_auth import auth
|
||||
from src.lnurl_pay import pay
|
||||
from src.lnurl_withdraw import withdraw
|
||||
import tempfile
|
||||
|
||||
|
||||
class SDKListener(breez_sdk.EventListener):
|
||||
def on_event(self, event):
|
||||
print(event)
|
||||
|
||||
|
||||
def main():
|
||||
temp_dir = tempfile.TemporaryDirectory()
|
||||
|
||||
|
||||
api_key = "API_KEY"
|
||||
mnemonic = "MNEMONIC"
|
||||
|
||||
# getting started
|
||||
sdk_services = getting_started(api_key, mnemonic, temp_dir.name)
|
||||
node_info = getting_started_node_info(sdk_services)
|
||||
print(type(node_info))
|
||||
|
||||
# lsp info
|
||||
get_lsp_info(sdk_services)
|
||||
|
||||
# connect lsp
|
||||
connect_lsp(sdk_services,sdk_services.lsp_id())
|
||||
|
||||
# buy btc
|
||||
buy(sdk_services)
|
||||
|
||||
# send onchain
|
||||
current_fees = get_current_fees(sdk_services)
|
||||
list_current_fees(current_fees)
|
||||
check_reverse_swap_status(sdk_services)
|
||||
start_reverse_swap(sdk_services,current_fees, 7)
|
||||
|
||||
# static backup
|
||||
temp_dir2 = tempfile.TemporaryDirectory()
|
||||
retrieve_backup_files(sdk_services,temp_dir2.name)
|
||||
|
||||
# receive payment
|
||||
receive_payment(sdk_services)
|
||||
|
||||
# receive onchain
|
||||
generate_receive_onchain_address(sdk_services)
|
||||
get_in_progress_swap(sdk_services)
|
||||
refundables = list_refundables(sdk_services)
|
||||
execute_refund(sdk_services,refundables)
|
||||
get_channel_opening_fees(sdk_services,3000000)
|
||||
|
||||
#send spontaneous payment
|
||||
send_spontaneous_payment(sdk_services)
|
||||
|
||||
# fiat currencies
|
||||
list_supported_fiat_currencies(sdk_services)
|
||||
get_current_rates(sdk_services)
|
||||
|
||||
# lnurl auth
|
||||
auth(sdk_services)
|
||||
|
||||
# lnurl pay
|
||||
pay(sdk_services)
|
||||
|
||||
# lnurl withdraw
|
||||
withdraw(sdk_services)
|
||||
|
||||
|
||||
|
||||
# use temp_dir, and remove when done:
|
||||
temp_dir.cleanup()
|
||||
temp_dir2.cleanup()
|
||||
|
||||
|
||||
|
||||
main()
|
||||
|
||||
|
||||
15
snippets/python_snippets/src/buy_btc.py
Normal file
15
snippets/python_snippets/src/buy_btc.py
Normal file
@@ -0,0 +1,15 @@
|
||||
import logging
|
||||
import breez_sdk
|
||||
|
||||
|
||||
|
||||
|
||||
def buy(sdk_services):
|
||||
try:
|
||||
# ANCHOR: buy-btc
|
||||
req = breez_sdk.BuyBitcoinRequest(breez_sdk.BuyBitcoinProvider.MOONPAY)
|
||||
buy_bitcoin_resp = sdk_services.buy_bitcoin(req=req)
|
||||
# ANCHOR_END: buy-btc
|
||||
except Exception as error:
|
||||
logging.error(error)
|
||||
raise
|
||||
@@ -1,24 +1,20 @@
|
||||
import logging
|
||||
from breez_sdk import BlockingBreezServices
|
||||
|
||||
sdk_services = BlockingBreezServices
|
||||
|
||||
def get_lsp_info():
|
||||
def get_lsp_info(sdk_services):
|
||||
try:
|
||||
# ANCHOR: get-lsp-info
|
||||
lsp_id = sdk_services.lsp_id()
|
||||
lsp_info = sdk_services.lsp_info()
|
||||
# ANCHOR_END: get-lsp-info
|
||||
return lsp_info
|
||||
except Exception as error:
|
||||
logging.log(error)
|
||||
except Exception as error:
|
||||
print(error)
|
||||
raise
|
||||
|
||||
def connect_lsp(lsp_id):
|
||||
def connect_lsp(sdk_services,lsp_id):
|
||||
try:
|
||||
# ANCHOR: connect-lsp
|
||||
sdk_services.connect_lsp(lsp_id)
|
||||
# ANCHOR_END: connect-lsp
|
||||
except Exception as error:
|
||||
logging.log(error)
|
||||
print(error)
|
||||
raise
|
||||
@@ -1,25 +1,20 @@
|
||||
import breez_sdk
|
||||
from breez_sdk import BlockingBreezServices
|
||||
import logging
|
||||
|
||||
sdk_services = BlockingBreezServices
|
||||
|
||||
def list_supported_fiat_currencies():
|
||||
def list_supported_fiat_currencies(sdk_services):
|
||||
try:
|
||||
# ANCHOR: list-fiat-currencies
|
||||
supported_fiat_currencies = sdk_services.list_fiat_currencies()
|
||||
# ANCHOR_END: list-fiat-currencies
|
||||
return supported_fiat_currencies
|
||||
except Exception as error:
|
||||
logging.error(error)
|
||||
print(error)
|
||||
raise
|
||||
|
||||
def get_current_rates():
|
||||
def get_current_rates(sdk_services):
|
||||
try:
|
||||
# ANCHOR: fetch-fiat-rates
|
||||
fiat_rates = sdk_services.fetch_fiat_rates
|
||||
# ANCHOR_END: fetch-fiat-rates
|
||||
return fiat_rates
|
||||
except Exception as error:
|
||||
logging.error(error)
|
||||
print(error)
|
||||
raise
|
||||
@@ -2,24 +2,24 @@ import breez_sdk
|
||||
|
||||
import logging
|
||||
|
||||
sdk_services = breez_sdk.BlockingBreezServices
|
||||
|
||||
# ANCHOR: init-sdk
|
||||
class SDKListener(breez_sdk.EventListener):
|
||||
def on_event(self, event):
|
||||
logging.info(event)
|
||||
|
||||
def getting_started():
|
||||
def getting_started(API_KEY,mnemonic,temp_dir):
|
||||
|
||||
seed = breez_sdk.mnemonic_to_seed("<mnemonic words>")
|
||||
seed = breez_sdk.mnemonic_to_seed(mnemonic)
|
||||
invite_code = "<invite code>"
|
||||
api_key = "<api key>"
|
||||
api_key = API_KEY
|
||||
config = breez_sdk.default_config(
|
||||
breez_sdk.EnvironmentType.PRODUCTION,
|
||||
api_key,
|
||||
breez_sdk.NodeConfig.GREENLIGHT(breez_sdk.GreenlightNodeConfig(None, invite_code)))
|
||||
|
||||
# Customize the config object according to your needs
|
||||
config.working_dir = "path to an existing directory"
|
||||
config.working_dir = temp_dir
|
||||
|
||||
try:
|
||||
# Connect to the Breez SDK make it ready for use
|
||||
@@ -31,14 +31,15 @@ def getting_started():
|
||||
raise
|
||||
# ANCHOR_END: init-sdk
|
||||
|
||||
def getting_started_node_info():
|
||||
def getting_started_node_info(sdk_services):
|
||||
|
||||
try:
|
||||
# ANCHOR: fetch-balance
|
||||
node_info = node_info()
|
||||
node_info = sdk_services.node_info()
|
||||
ln_balance = node_info.channels_balance_msat
|
||||
onchain_balance = node_info.onchain_balance_msat
|
||||
# ANCHOR_END: fetch-balance
|
||||
return node_info
|
||||
except Exception as error:
|
||||
logging.error(error)
|
||||
raise
|
||||
@@ -1,9 +1,7 @@
|
||||
import breez_sdk
|
||||
import logging
|
||||
|
||||
sdk_services = breez_sdk.BlockingBreezServices
|
||||
|
||||
def auth():
|
||||
def auth(sdk_services):
|
||||
# ANCHOR: lnurl-auth
|
||||
# Endpoint can also be of the form:
|
||||
# keyauth://domain.com/auth?key=val
|
||||
@@ -15,10 +13,10 @@ def auth():
|
||||
req = breez_sdk
|
||||
result = sdk_services.lnurl_auth(parsed_input.data)
|
||||
if result.is_ok():
|
||||
logging.info("Successfully authenticated")
|
||||
print("Successfully authenticated")
|
||||
else:
|
||||
logging.error("Failed to authenticate")
|
||||
print("Failed to authenticate")
|
||||
except Exception as error:
|
||||
logging.error(error)
|
||||
print(error)
|
||||
raise
|
||||
# ANCHOR_END: lnurl-auth
|
||||
@@ -1,9 +1,7 @@
|
||||
import breez_sdk
|
||||
import logging
|
||||
|
||||
sdk_services = breez_sdk.BlockingBreezServices
|
||||
|
||||
def pay():
|
||||
def pay(sdk_services):
|
||||
# ANCHOR: lnurl-pay
|
||||
# Endpoint can also be of the form:
|
||||
# lnurlp://domain.com/lnurl-pay?key=val
|
||||
@@ -18,5 +16,5 @@ def pay():
|
||||
# ANCHOR_END: lnurl-pay
|
||||
return result
|
||||
except Exception as error:
|
||||
logging.error(error)
|
||||
print(error)
|
||||
raise
|
||||
@@ -1,9 +1,7 @@
|
||||
import breez_sdk
|
||||
import logging
|
||||
|
||||
sdk_services = breez_sdk.BlockingBreezServices
|
||||
|
||||
def withdraw():
|
||||
def withdraw(sdk_services):
|
||||
# ANCHOR: lnurl-withdraw
|
||||
# Endpoint can also be of the form:
|
||||
# lnurlw://domain.com/lnurl-withdraw?key=val
|
||||
@@ -17,5 +15,5 @@ def withdraw():
|
||||
# ANCHOR_END: lnurl-withdraw
|
||||
return result
|
||||
except Exception as error:
|
||||
logging.error(error)
|
||||
print(error)
|
||||
raise
|
||||
@@ -1,9 +1,6 @@
|
||||
import breez_sdk
|
||||
import logging
|
||||
|
||||
sdk_services = breez_sdk.BlockingBreezServices
|
||||
|
||||
def generate_receive_onchain_address():
|
||||
def generate_receive_onchain_address(sdk_services):
|
||||
try:
|
||||
# ANCHOR: generate-receive-onchain-address
|
||||
swap_info = sdk_services.receive_onchain(breez_sdk.ReceiveOnchainRequest())
|
||||
@@ -12,29 +9,30 @@ def generate_receive_onchain_address():
|
||||
address = swap_info.bitcoin_address
|
||||
# ANCHOR_END: generate-receive-onchain-address
|
||||
except Exception as error:
|
||||
logging.error(error)
|
||||
print(error)
|
||||
raise
|
||||
|
||||
def get_in_progress_swap():
|
||||
try:
|
||||
# ANCHOR: in-progress-swap
|
||||
swap_info = sdk_services.in_progress_swap()
|
||||
# ANCHOR_END: in-progress-swap
|
||||
except Exception as error:
|
||||
logging.error(error)
|
||||
raise
|
||||
def get_in_progress_swap(sdk_services):
|
||||
try:
|
||||
# ANCHOR: in-progress-swap
|
||||
swap_info = sdk_services.in_progress_swap()
|
||||
# ANCHOR_END: in-progress-swap
|
||||
except Exception as error:
|
||||
print(error)
|
||||
raise
|
||||
|
||||
|
||||
def list_refundables():
|
||||
def list_refundables(sdk_services):
|
||||
try:
|
||||
# ANCHOR: list-refundables
|
||||
refundables = sdk_services.list_refundables()
|
||||
# ANCHOR_END: list-refundables
|
||||
return refundables
|
||||
except Exception as error:
|
||||
logging.error(error)
|
||||
print(error)
|
||||
raise
|
||||
|
||||
def execute_refund(refundable):
|
||||
def execute_refund(sdk_services,refundable):
|
||||
if refundable is breez_sdk.SwapInfo:
|
||||
# ANCHOR: execute-refund
|
||||
destination_address = "..."
|
||||
@@ -47,10 +45,10 @@ def execute_refund(refundable):
|
||||
sat_per_vbyte=sat_per_vbyte)
|
||||
# ANCHOR_END: execute-refund
|
||||
except Exception as error:
|
||||
logging.error(error)
|
||||
print(error)
|
||||
raise
|
||||
|
||||
def get_channel_opening_fees(amount_msat,):
|
||||
def get_channel_opening_fees(sdk_services ,amount_msat=None):
|
||||
try:
|
||||
# ANCHOR: get-channel-opening-fees
|
||||
req = breez_sdk.OpenChannelFeeRequest(amount_msat)
|
||||
@@ -58,5 +56,5 @@ def get_channel_opening_fees(amount_msat,):
|
||||
# ANCHOR_END: get-channel-opening-fees
|
||||
return channel_fees
|
||||
except Exception as error:
|
||||
logging.error(error)
|
||||
print(error)
|
||||
raise
|
||||
@@ -1,17 +1,15 @@
|
||||
import breez_sdk
|
||||
import logging
|
||||
|
||||
sdk_services = breez_sdk.BlockingBreezServices
|
||||
|
||||
def receive_payment():
|
||||
def receive_payment(sdk_services):
|
||||
try:
|
||||
# ANCHOR: receive-payment
|
||||
req = breez_sdk.ReceivePaymentRequest(
|
||||
amount_msat=300000,
|
||||
description="Invoice for 300 000 sats")
|
||||
amount_msat=3000000,
|
||||
description="Invoice for 3 000 000 sats")
|
||||
result = sdk_services.receive_payment(req)
|
||||
# ANCHOR_END: receive-payment
|
||||
return result
|
||||
except Exception as error:
|
||||
logging.error(error)
|
||||
print(error)
|
||||
raise
|
||||
@@ -1,18 +1,15 @@
|
||||
import breez_sdk
|
||||
import logging
|
||||
|
||||
sdk_services = breez_sdk.BlockingBreezServices
|
||||
|
||||
def get_current_fees():
|
||||
def get_current_fees(sdk_services):
|
||||
try:
|
||||
# ANCHOR: estimate-current-reverse-swap-total-fees
|
||||
req = breez_sdk.ReverseSwapFeesRequest(send_amount_sat=50000)
|
||||
current_fees = sdk_services.fetch_reverse_swap_fees(req)
|
||||
logging.info("Total estimated fees for reverseswap: ", current_fees.total_estimated_fees)
|
||||
print("Total estimated fees for reverseswap: ", current_fees)
|
||||
# ANCHOR_END: estimate-current-reverse-swap-total-fees
|
||||
return current_fees
|
||||
except Exception as error:
|
||||
logging.error(error)
|
||||
print(error)
|
||||
raise
|
||||
|
||||
def list_current_fees(current_fees):
|
||||
@@ -21,27 +18,27 @@ def list_current_fees(current_fees):
|
||||
print("Maximum amount, in sats: ", current_fees.max)
|
||||
# ANCHOR_END: get-current-reverse-swap-min-max
|
||||
|
||||
def start_reverse_swap(current_fees,fee_rate):
|
||||
def start_reverse_swap(sdk_services, current_fees,fee_rate):
|
||||
# ANCHOR: start-reverse-swap
|
||||
destination_address = "bc1.."
|
||||
amount_sat = 50000
|
||||
sat_per_vbyte = fee_rate
|
||||
try:
|
||||
req = breez_sdk.SendOnchainRequest(amount_sat, destination_address, current_fees.fee_hash, sat_per_vbyte)
|
||||
req = breez_sdk.SendOnchainRequest(amount_sat, destination_address, current_fees.fees_hash, sat_per_vbyte)
|
||||
sdk_services.send_onchain(req)
|
||||
# ANCHOR_END: start-reverse-swap
|
||||
except Exception as error:
|
||||
logging.error(error)
|
||||
print(error)
|
||||
raise
|
||||
|
||||
def check_reverse_swap_status():
|
||||
def check_reverse_swap_status(sdk_services):
|
||||
try:
|
||||
# ANCHOR: check-reverse-swaps-status
|
||||
reverse_swaps = sdk_services.in_progress_reverse_swaps()
|
||||
for rs in reverse_swaps:
|
||||
logging.info("Reverse swap ",rs.id , " in progress, status is ", rs.status)
|
||||
print("Reverse swap ",rs.id , " in progress, status is ", rs.status)
|
||||
# ANCHOR_END: check-reverse-swaps-status
|
||||
except Exception as error:
|
||||
logging.error(error)
|
||||
print(error)
|
||||
raise
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
import breez_sdk
|
||||
import logging
|
||||
|
||||
sdk_services = breez_sdk.BlockingBreezServices
|
||||
|
||||
def send_spontaneous_payment():
|
||||
|
||||
def send_spontaneous_payment(sdk_services):
|
||||
# ANCHOR: send-spontaneous-payment
|
||||
node_id = "..."
|
||||
amount_msat = 300000
|
||||
try:
|
||||
req = breez_sdk.SendSpontaneousPaymentRequest(node_id,amount_msat)
|
||||
result = sdk_services.send_spontaneous_payment(req)
|
||||
# ANCHOR: send-spontaneous-payment
|
||||
return result
|
||||
# ANCHOR: send-spontaneous-payment
|
||||
except Exception as error:
|
||||
logging.error(error)
|
||||
print(error)
|
||||
raise
|
||||
@@ -1,16 +1,12 @@
|
||||
import breez_sdk
|
||||
import logging
|
||||
|
||||
sdk_services = breez_sdk.BlockingBreezServices
|
||||
|
||||
|
||||
def retrieve_backup_files():
|
||||
def retrieve_backup_files(sdk_services, working_dir):
|
||||
try:
|
||||
# ANCHOR: static-channel-backup
|
||||
req = breez_sdk.StaticBackupRequest(working_dir="<working directory>")
|
||||
req = breez_sdk.StaticBackupRequest(working_dir=working_dir)
|
||||
backup_data = breez_sdk.static_backup(req)
|
||||
# ANCHOR_END: static-channel-backup
|
||||
return backup_data
|
||||
except Exception as error:
|
||||
logging.error(error)
|
||||
print(error)
|
||||
raise
|
||||
Reference in New Issue
Block a user