Подключение к LND Node через локально работающий Django Rest API

Я пытаюсь подключиться к моему узлу LND, работающему на AWS (я знаю, что это не лучший сценарий для узла LND, но в этот раз у меня не было другого способа сделать это) с моего локального запущенного Django Rest Api. Проблема в том, что он не может найти файл admin.macaroon, хотя файл находится в указанной директории. Ниже я привожу некоторую более подробную информацию:

view.py

class GetInfo(APIView):
    def get(self, request):
        REST_HOST = "https://ec2-18-195-111-81.eu-central-1.compute.amazonaws.com"
        MACAROON_PATH = "/home/ubuntu/.lnd/data/chain/bitcoin/mainnet/admin.macaroon"
        # url = "https://ec2-18-195-111-81.eu-central-1.compute.amazonaws.com/v1/getinfo"
        TLS_PATH = "/home/ubuntu/.lnd/tls.cert"

        url = f"https//{REST_HOST}/v1/getinfo"
        macaroon = codecs.encode(open(MACAROON_PATH, "rb").read(), "hex")
        headers = {"Grpc-Metadata-macaroon": macaroon}
        r = requests.get(url, headers=headers, verify=TLS_PATH)
        return Response(json.loads(r.text))

Узел работает без проблем на AWS. Вот что я получаю, когда запускаю lncli getinfo:

$ lncli getinfo:
{
"version": "0.15.5-beta commit=v0.15.5-beta",
"commit_hash": "c0a09209782b1c62c3393fcea0844exxxxxxxxxx",
"identity_pubkey": "mykey",
"alias": "020d4da213770890e1c1",
"color": "#3399ff",
"num_pending_channels": 0,
"num_active_channels": 0,
"num_inactive_channels": 0,
"uris": [
....

и разрешения следующие:

$ ls -l
total 138404
-rwxrwxr-x 1 ubuntu ubuntu 293 Feb 6 09:38 admin.macaroon
drwxrwxr-x 2 ubuntu ubuntu 4096 Feb 5 14:48 bin
drwxr-xr-x 6 ubuntu ubuntu 4096 Jan 27 20:17 bitcoin-22.0
drwxrwxr-x 4 ubuntu ubuntu 4096 Feb 1 16:39 go
-rw-rw-r-- 1 ubuntu ubuntu 141702072 Mar 15 2022 go1.18.linux-amd64.tar.gz
drwxrwxr-x 72 ubuntu ubuntu 4096 Feb 1 16:36 lnd
-rw-rw-r-- 1 ubuntu ubuntu 0 Jan 27 20:13 screenlog.0

Ошибка, которую я получаю: [Errno 2] No such file or directory:'/home/ubuntu/.lnd/data/chain/bitcoin/mainnet/admin.macaroon'

Я предполагаю, что проблема должна заключаться в том, что мне нужно получить доступ к узлу из моего API, но я понятия не имею, как получить доступ к экземпляру EC2 из внешнего api. Заранее спасибо

Мне нужно было подключиться к EC-2 через мой API, используя SSH. Для этого я использовал boto3 и paramiko.

Вернуться на верх