This commit is contained in:
hatim boufnichel 2024-04-25 20:03:23 +02:00
parent 0a3a5e70cf
commit 912ee978b8

View file

@ -8,12 +8,13 @@ export const setupNetwork = async () => {
await core.InitAddress() await core.InitAddress()
await core.Mine(1) await core.Mine(1)
const lnd = new LND(settings.lndSettings, () => { }, () => { }, () => { }, () => { }) const lnd = new LND(settings.lndSettings, () => { }, () => { }, () => { }, () => { })
await tryUntil<void>(async i => {
await lnd.ConnectPeer({ pubkey: '03cc09d839293195eb10af7df99e5ba5bbac12c2526ec67d174dcbc84d9c97bae4', host: "bob:9735" }) await lnd.ConnectPeer({ pubkey: '03cc09d839293195eb10af7df99e5ba5bbac12c2526ec67d174dcbc84d9c97bae4', host: "bob:9735" })
await lnd.ConnectPeer({ pubkey: '0232842d81b2423df97aa8a264f8c0811610a736af65afe2e145279f285625c1e4', host: "carol:9735" }) await lnd.ConnectPeer({ pubkey: '0232842d81b2423df97aa8a264f8c0811610a736af65afe2e145279f285625c1e4', host: "carol:9735" })
await lnd.ConnectPeer({ pubkey: '027c50fde118af534ff27e59da722422d2f3e06505c31e94c1b40c112c48a83b1c', host: "dave:9735" }) await lnd.ConnectPeer({ pubkey: '027c50fde118af534ff27e59da722422d2f3e06505c31e94c1b40c112c48a83b1c', host: "dave:9735" })
await new Promise(resolve => setTimeout(resolve, 500)) }, 15, 2000)
for (let i = 0; i < 30; i++) {
try { await tryUntil<void>(async i => {
const info = await lnd.GetInfo() const info = await lnd.GetInfo()
if (!info.syncedToChain) { if (!info.syncedToChain) {
throw new Error("not synced to chain") throw new Error("not synced to chain")
@ -22,12 +23,17 @@ export const setupNetwork = async () => {
//await lnd.ConnectPeer({}) //await lnd.ConnectPeer({})
throw new Error("not synced to graph") throw new Error("not synced to graph")
} }
return }, 15, 2000)
} catch (e) { }
console.log("waiting for lnd to be ready", e)
console.log(await lnd.ListPeers()) const tryUntil = async <T>(fn: (attempt: number) => Promise<T>, maxTries: number, interval: number) => {
await new Promise(resolve => setTimeout(resolve, 1000)) for (let i = 0; i < maxTries; i++) {
} try {
} return await fn(i)
throw new Error("lnd is not ready after 30 seconds") } catch (e) {
console.log("tryUntil error", e)
await new Promise(resolve => setTimeout(resolve, interval))
}
}
throw new Error("tryUntil failed")
} }