I use regtest to call loopd rpc api getinfo,got:14 UNAVAILABLE: No connection established.
Los mantenedores suelen responder en 7 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 30/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- docker, go, grpc, javascript
Línea de trabajo
Comienza con el servicio loopclient en docker.compose.yml y la configuración de JavaScript SwapClient que llama a getInfo. Comprueba el endpoint 11010 expuesto por el contenedor, las rutas de los certificados TLS y la configuración de conexión del cliente; después, reproduce la llamada y usa los logs de loopclient para identificar por qué no se establece la conexión TLS. Se considera completado cuando la llamada regtest getInfo se conecta correctamente y devuelve una respuesta.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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)
- Lenguaje dominante
- Go
- Estrellas
- 593
- Forks
- 138
- Merge medio
- 4 d 9 h
- PR fusionados (30 d)
- 14
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de lightninglabs/loop
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
lightninglabs/loop#1246 ·
Los mantenedores suelen responder en 7 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 50/100
lightninglabs/loop#1208 · 1 comentario ·
Los mantenedores suelen responder en 7 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
lightninglabs/loop#1196 ·
Los mantenedores suelen responder en 7 días
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 42/100
lightninglabs/loop#1172 ·
Los mantenedores suelen responder en 7 días
-
Track armed static address HTLCs after aborted swapsQuizá libre de nuevo @hieblmi la tomó hace 105 días y no hay ningún pull request abierto. Abierto
lightninglabs/loop#1171 · 1 asignado ·
Los mantenedores suelen responder en 7 días
Todos los issues de lightninglabs/loop
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
[BUG] steve: Updating a resource through /v1 ignores dryRun, fieldManager and fieldValidationAbiertoarea/frameworks area/steve kind/bug team/frameworks
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Exclude merge queue branches from push trigger in ci-workflow.yaml to eliminate duplicate CI runsAbiertobug infra ready-for-triage triaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
redhat-et/ProtoBot#312 · 2 comentarios · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día