I use regtest to call loopd rpc api getinfo,got:14 UNAVAILABLE: No connection established.
メンテナーはふだん 7 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 30/100
- issue の種類
- バグ
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- docker, go, grpc, javascript
調査の方向性
docker.compose.yml の loopclient サービスと、getInfo を呼び出す JavaScript SwapClient のセットアップから始めます。コンテナが公開している 11010 エンドポイント、TLS 証明書のパス、クライアント接続設定を確認し、その後、呼び出しを再現して loopclient のログを使い、TLS 接続が確立されない理由を特定します。regtest getInfo 呼び出しが正常に接続し、レスポンスを返せば完了です。
索引モデルが issue の本文から書いたものです。
説明
version: "3"
services:
bitcoind:
image: ruimarinho/bitcoin-core:23
container_name: bitcoind
restart: unless-stopped
networks:
regtest:
aliases:
- bitcoind
command:
- "-txindex"
- "-regtest"
- "-rest"
- "-printtoconsole"
- "-zmqpubrawblock=tcp://0.0.0.0:28332"
- "-zmqpubrawtx=tcp://0.0.0.0:28333"
- "-rpcport=18443"
- "-rpcbind=0.0.0.0"
# This is just the hashed string "lightning" with a salt.
- "-rpcauth=lightning:8492220e715bbfdf5f165102bfd7ed4$$88090545821ed5e9db614588c0afbad575ccc14681fb77f3cae6899bc419af67"
- "-rpcallowip=0.0.0.0/0"
- "-fallbackfee=0.0002"
- "-peerblockfilters=1"
- "-blockfilterindex=1"
- "-wallet=/home/bitcoin/.bitcoin/regtest/wallets/miner"
environment:
- HOME=/home/bitcoin
volumes:
- ./bitcoind:/home/bitcoin/.bitcoin
lndserver:
image: lightninglabs/lnd:v0.17.4-beta
container_name: lndserver
restart: unless-stopped
networks:
regtest:
aliases:
- lndserver
volumes:
- "./lndserver:/root/.lnd"
depends_on:
- bitcoind
command:
- "--logdir=/root/.lnd"
- "--alias=lndserver"
- "--rpclisten=0.0.0.0:10009"
- "--noseedbackup"
- "--bitcoin.active"
- "--bitcoin.regtest"
- "--bitcoin.node=bitcoind"
- "--bitcoind.rpchost=bitcoind"
- "--bitcoind.rpcuser=lightning"
- "--bitcoind.rpcpass=lightning"
- "--bitcoind.zmqpubrawblock=tcp://bitcoind:28332"
- "--bitcoind.zmqpubrawtx=tcp://bitcoind:28333"
- "--debuglevel=debug"
- "--externalip=lndserver"
- "--tlsextradomain=lndserver"
loopserver:
image: lightninglabs/loopserver
container_name: loopserver
restart: unless-stopped
networks:
regtest:
aliases:
- loopserver
volumes:
- "./lndserver:/root/.lnd"
depends_on:
- lndserver
expose:
- "11009"
ports:
- "11009:11009"
command:
- "daemon"
- "--maxamt=5000000"
- "--lnd.host=lndserver:10009"
- "--lnd.macaroondir=/home/loopserver/"
- "--lnd.tlspath=/home/loopserver/tls.cert"
- "--bitcoin.host=bitcoind:18443"
- "--bitcoin.user=lightning"
- "--bitcoin.password=lightning"
- "--bitcoin.zmqpubrawblock=tcp://bitcoind:28332"
- "--bitcoin.zmqpubrawtx=tcp://bitcoind:28333"
lndclient:
image: lightninglabs/lnd:v0.17.4-beta
container_name: lndclient
restart: unless-stopped
networks:
regtest:
aliases:
- lndclient
volumes:
- "./lndclient:/root/.lnd"
expose:
- "8080"
- "10009"
- "9735"
ports:
- "10009:10009"
depends_on:
- bitcoind
command:
- "--logdir=/root/.lnd"
- "--alias=lndclient"
- "--rpclisten=0.0.0.0:10009"
- "--noseedbackup"
- "--bitcoin.active"
- "--bitcoin.regtest"
- "--bitcoin.node=bitcoind"
- "--bitcoind.rpchost=bitcoind"
- "--bitcoind.rpcuser=lightning"
- "--bitcoind.rpcpass=lightning"
- "--bitcoind.zmqpubrawblock=tcp://bitcoind:28332"
- "--bitcoind.zmqpubrawtx=tcp://bitcoind:28333"
- "--debuglevel=debug"
- "--externalip=lndclient"
- "--tlsextradomain=lndclient"
loopclient:
image: loopd
container_name: loopclient
build:
context: ../
dockerfile: Dockerfile
restart: unless-stopped
networks:
regtest:
aliases:
- loopclient
volumes:
- "./lndclient:/root/.lnd"
- "./lndclient/loop:/root/.loop"
expose:
- "8081"
- "11010"
ports:
- "11010:11010"
- "8081:8081"
depends_on:
- lndclient
- loopserver
command:
- "loopd"
- "--network=regtest"
- "--debuglevel=debug"
- "--server.host=loopserver:11009"
- "--server.notls"
- "--lnd.host=lndclient:10009"
- "--lnd.macaroonpath=/root/.lnd/data/chain/bitcoin/regtest/admin.macaroon"
- "--lnd.tlspath=/root/.lnd/tls.cert"
networks:
regtest:
{
host: '127.0.0.1:11010',
certFilePath: '/Users/wjl/Documents/gamichi/2024/loop/regtest/lndclient/loop/regtest/tls.cert',
macaroonFilePath: '/Users/wjl/Documents/gamichi/2024/loop/regtest/lndclient/loop/regtest/loop.macaroon'
}
const loaderOptions = {
keepCase: true,
longs: String,
enums: String,
defaults: true,
oneofs: true,
};
process.env.GRPC_SSL_CIPHER_SUITES = 'HIGH+ECDSA';
const tlsCert = certFilePath ? fs.readFileSync(certFilePath) : '';
const sslCreds = grpc.credentials.createSsl(tlsCert);
if (!macaroonFilePath) {
throw new Error('macaroonFilePath is required')
}
const macaroon = fs.readFileSync(macaroonFilePath).toString('hex');
const macaroonCreds = grpc.credentials.createFromMetadataGenerator(function (args, callback) {
let metadata = new grpc.Metadata();
metadata.add('macaroon', macaroon);
callback(null, metadata);
});
let creds = grpc.credentials.combineChannelCredentials(sslCreds, macaroonCreds);
const packageDefinition = protoLoader.loadSync(protoClient, loaderOptions);
const looprpc = grpc.loadPackageDefinition(packageDefinition).looprpc;
let client = new looprpc.SwapClient(host, creds);
return client
const getInfo = () => {
return new Promise((resolve, reject) => {
client.getInfo({}, function (err, response) {
if (err) {
reject(err)
}
resolve(response)
});
})
}
❌ ~ getRepayByMessage ~ e.message: 14 UNAVAILABLE: No connection established. Last error: Client network socket disconnected before secure TLS connection was established (2024-05-20T12:11:41.245Z)
- 主要言語
- Go
- スター
- 593
- フォーク
- 138
- 平均マージ
- 4日 9時間
- マージ済み PR(30日)
- 14
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
lightninglabs/loop のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
lightninglabs/loop#1246 ·
メンテナーはふだん 7 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 50/100
lightninglabs/loop#1208 · コメント 1 件 ·
メンテナーはふだん 7 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
lightninglabs/loop#1196 ·
メンテナーはふだん 7 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 42/100
lightninglabs/loop#1172 ·
メンテナーはふだん 7 日以内に返信
-
Track armed static address HTLCs after aborted swaps再び着手できるかも @hieblmi が 104 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
lightninglabs/loop#1171 · 担当者 1 名 ·
メンテナーはふだん 7 日以内に返信
lightninglabs/loop の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
area/frameworks area/steve kind/bug team/frameworks
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
Exclude merge queue branches from push trigger in ci-workflow.yaml to eliminate duplicate CI runsオープンbug infra ready-for-triage triaged
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
redhat-et/ProtoBot#312 · コメント 2 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信