Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

I use regtest to call loopd rpc api getinfo,got:14 UNAVAILABLE: No connection established.

Aperta
#749 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 7 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
30/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
docker, go, grpc, javascript
Ambito
api, devops

Direzione di ricerca

Inizia con il servizio loopclient in docker.compose.yml e la configurazione JavaScript di SwapClient che chiama getInfo. Controlla l'endpoint 11010 esposto dal container, i percorsi dei certificati TLS e le impostazioni di connessione del client, quindi riproduci la chiamata e usa i log di loopclient per identificare il motivo per cui la connessione TLS non viene stabilita. Il lavoro è completato quando la chiamata regtest getInfo si connette correttamente e restituisce una risposta.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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)
Lingua principale
Go
Stelle
593
Fork
138
Merge medio
4g 9h
PR unite (30g)
14

Preparare l'ambiente

  • Include un Dockerfile o un file Docker Compose
  • Ha un modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di lightninglabs/loop

Tutte le issue di lightninglabs/loop

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.