Skip to main content

An rpc client for LL Pool (Rent Channels)

Project description

pool-grpc-client

A python grpc client for Lightning Pool (Lightning Network Daemon) ⚡⚡⚡

This is a wrapper around the default grpc interface that handles setting up credentials (including macaroons.

Dependencies

  • Python 3.6+
  • Working LND lightning node, take note of its ip address.
  • Copy your pool.macaroon and tls.cert files from ~/.pool/mainnet to a directoy on your machine.

Installation

pip install pool-grpc-client

Basic Usage

The api mirrors the underlying lnd grpc api (http://api.lightning.community/) but methods will be in pep8 style. ie. .GetInfo() becomes .get_info().

from pathlib import Path
import json
from poolgrpc.client import PoolClient

credential_path = Path("/home/skorn/.pool/mainnet/")

mac = str(credential_path.joinpath("pool.macaroon").absolute())
tls = str(credential_path.joinpath("tls.cert").absolute())

pool = PoolClient(
	macaroon_filepath=mac,
	cert_filepath=tls
)

pool.get_info()

pool.get_lsat_tokens()

Specifying Macaroon/Cert files

By default the client will attempt to lookup the readonly.macaron and tls.cert files in the mainnet directory. However if you want to specify a different macaroon or different path you can pass in the filepath explicitly.

lnd = LNDClient(
    macaroon_filepath='~/.lnd/invoice.macaroon', 
    cert_filepath='path/to/tls.cert'
)

Compiling Proto Files

mkvirtualenv gen_rpc_protos
# or 
workon gen_rpc_protos
# then

pip install grpcio grpcio-tools googleapis-common-protos sh

cd poolgrpc
git clone --depth 1 https://github.com/googleapis/googleapis.git
cd ..

Set environment variables

export APP_DIR=$HOME/Documents/lightning/pool
export CLIENT_DIR=$HOME/Documents/lightning/pool-grpc-client
python3 rebuild_protos.py

Deploy to Test-PyPi

poetry build
twine check dist/*
twine upload --repository-url https://test.pypi.org/legacy/ dist/*

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pool-grpc-client-0.1.1.tar.gz (54.8 kB view details)

Uploaded Source

Built Distribution

pool_grpc_client-0.1.1-py3-none-any.whl (58.9 kB view details)

Uploaded Python 3

File details

Details for the file pool-grpc-client-0.1.1.tar.gz.

File metadata

  • Download URL: pool-grpc-client-0.1.1.tar.gz
  • Upload date:
  • Size: 54.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for pool-grpc-client-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f0060164f28960ee3d7eb037db38fcf56dd910372de21ef7bdef46c0a58905bd
MD5 ba7561bf52e47b81ec9ea70cc9b713c9
BLAKE2b-256 bc3347efd35900a8d8560e0311adf4976587a49a46e0ced84a5030faf77eac80

See more details on using hashes here.

File details

Details for the file pool_grpc_client-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pool_grpc_client-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d46c48501cdff22d759f034bb64e3403e4653d62bbe10dbc90ee6a484570601c
MD5 a70b9951179725e6b39decc02b632128
BLAKE2b-256 37bae6b689da102cbefe1b3383224476f822ebdab32d0c0059a5716ecd31b291

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page