Metadata-Version: 2.1
Name: faraday-grpc-client
Version: 0.0.2
Summary: An rpc client for LL Faraday (Node Stats)
License: MIT
Author: Kornpow
Author-email: test@email.com
Requires-Python: >3.6
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: aiogrpc (>=1.8,<2.0)
Requires-Dist: googleapis-common-protos (>=1.53.0,<2.0.0)
Requires-Dist: grpcio (>=1.37.0,<2.0.0)
Requires-Dist: grpcio-tools (>=1.37.0,<2.0.0)
Requires-Dist: protobuf (>=3.15.8,<4.0.0)
Requires-Dist: protobuf3-to-dict (>=0.1.5,<0.2.0)
Description-Content-Type: text/markdown

# faraday-grpc-client
A python grpc client for LL Faraday (Node Stats)

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 `~/.faraday/mainnet` to a directoy on your machine. 


## Installation
```bash
pip install faraday-grpc-client
```

## Generating LND Proto Files
```bash
virtualenv lnd
source lnd/bin/activate
pip install grpcio grpcio-tools googleapis-common-protos sh
git clone https://github.com/lightningnetwork/lnd.git
mkdir genprotos
git clone https://github.com/googleapis/googleapis.git

python3 -m grpc_tools.protoc --python_out=. --grpc_python_out=. frdgrpc/compiled/*.proto
```

```python
from pathlib import Path
import shutil
import sh

for proto in list(Path("../lnd/lnrpc").rglob("*.proto")):
    shutil.copy(proto, Path.cwd())

protos = list(Path(".").glob("*.proto"))

for protofile in protos:
    try:
        sh.python("-m", "grpc_tools.protoc", "--proto_path=.", "--python_out=.", "--grpc_python_out=.", str(protofile))
        protos.remove(protofile)
    except Exception as e:
        print(f"Error in proto: {protofile}")
```

Last Step:
In File: verrpc_pb2_grpc.py
Change:
import verrpc_pb2 as verrpc__pb2
To:
from lndgrpc import verrpc_pb2 as verrpc__pb2

## Deploy to Test-PyPi
```bash
poetry build
twine check dist/*
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
```
