Browse Source

Doccumentation on LND RPC libs

master
Christian Rotzoll 6 years ago
parent
commit
78d2855142
  1. 16
      build_sdcard.sh
  2. 4
      home.admin/config.scripts/lnd.initwallet.py
  3. 29
      home.admin/config.scripts/lndlibs/README.md
  4. 0
      home.admin/config.scripts/lndlibs/__init__.py
  5. 0
      home.admin/config.scripts/lndlibs/rpc.proto
  6. 0
      home.admin/config.scripts/lndlibs/rpc_pb2.py
  7. 0
      home.admin/config.scripts/lndlibs/rpc_pb2.pyc
  8. 0
      home.admin/config.scripts/lndlibs/rpc_pb2_grpc.py
  9. 0
      home.admin/config.scripts/lndlibs/rpc_pb2_grpc.pyc

16
build_sdcard.sh

@ -338,7 +338,6 @@ if [ "${binaryChecksum}" != "${bitcoinSHA256}" ]; then
exit 1 exit 1
fi fi
# check gpg finger print # check gpg finger print
sudo -u admin wget https://bitcoin.org/laanwj-releases.asc sudo -u admin wget https://bitcoin.org/laanwj-releases.asc
if [ ! -f "./laanwj-releases.asc" ] if [ ! -f "./laanwj-releases.asc" ]
@ -480,6 +479,21 @@ if [ ${#installed} -eq 0 ]; then
exit 1 exit 1
fi fi
# prepare python for lnd api use
# https://dev.lightning.community/guides/python-grpc/
#
echo ""
echo "*** LND API for Python ***"
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 1
echo "to switch between python2/3: sudo update-alternatives --config python"
sudo apt-get -f -y install virtualenv
sudo -u admin virtualenv lnd
sudo -u admin source lnd/bin/activate
sudo -u admin pip install grpcio grpcio-tools googleapis-common-protos
echo ""
# Go is needed for ZAP connect later # Go is needed for ZAP connect later
echo "*** Installing Go ***" echo "*** Installing Go ***"
wget https://storage.googleapis.com/golang/go1.11.linux-armv6l.tar.gz wget https://storage.googleapis.com/golang/go1.11.linux-armv6l.tar.gz

4
home.admin/config.scripts/lnd.initwallet.py

@ -1,7 +1,7 @@
#!/usr/bin/python #!/usr/bin/python
import codecs, grpc, os, sys, base64 import codecs, grpc, os, sys, base64
from lnd060libs import rpc_pb2 as ln from lndlibs import rpc_pb2 as ln
from lnd060libs import rpc_pb2_grpc as lnrpc from lndlibs import rpc_pb2_grpc as lnrpc
# display config script info # display config script info
if len(sys.argv) <= 1 or sys.argv[1] == "-h" or sys.argv[1] == "help": if len(sys.argv) <= 1 or sys.argv[1] == "-h" or sys.argv[1] == "help":

29
home.admin/config.scripts/lndlibs/README.md

@ -0,0 +1,29 @@
For every new LND version the LND RPC libs need to be compiled from the matching protobuff files.
Do this on a raspberrypi with the exact same python version the scripts will be are running on.
See https://dev.lightning.community/guides/python-grpc/
Make sure Virtual Environment is setup:
```
sudo apt-get -f -y install virtualenv
virtualenv lnd
source lnd/bin/activate
pip install grpcio grpcio-tools googleapis-common-protos
```
Normally that is already done by build_sdcard.sh for user admin user. So just run:
```
source lnd/bin/activate
````
Now to generate the lnd RPC libs:
```
git clone https://github.com/googleapis/googleapis.git
curl -o rpc.proto -s https://raw.githubusercontent.com/lightningnetwork/lnd/master/lnrpc/rpc.proto
python -m grpc_tools.protoc --proto_path=googleapis:. --python_out=. --grpc_python_out=. rpc.proto
````
*NOTE: If LND master branch is already a version ahead .. use the rpc.proto from the version tagged branch.*
Now copy the generated RPC libs per SCP over to your Laptop and add them to the `/home/admin/config.scripts/lndlibs`.

0
home.admin/config.scripts/lnd060libs/__init__.py → home.admin/config.scripts/lndlibs/__init__.py

0
home.admin/config.scripts/lnd060libs/rpc.proto → home.admin/config.scripts/lndlibs/rpc.proto

0
home.admin/config.scripts/lnd060libs/rpc_pb2.py → home.admin/config.scripts/lndlibs/rpc_pb2.py

0
home.admin/config.scripts/lnd060libs/rpc_pb2.pyc → home.admin/config.scripts/lndlibs/rpc_pb2.pyc

0
home.admin/config.scripts/lnd060libs/rpc_pb2_grpc.py → home.admin/config.scripts/lndlibs/rpc_pb2_grpc.py

0
home.admin/config.scripts/lnd060libs/rpc_pb2_grpc.pyc → home.admin/config.scripts/lndlibs/rpc_pb2_grpc.pyc

Loading…
Cancel
Save