ElementsProject / ElementsProject/elements

Long unconfirmed transaction chain doesn't get mined in regtest

Aperta
#1,088 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C++
Stelle
1.2k
Fork
416
Merge medio
1g 23h
PR unite (30g)
15

Descrizione

Steps to reproduce (with 0.21.0.1):

```bash
elementsd -chain=elementsregtest -initialfreecoins=2100000000000000 -anyonecanspendaremine=1 -validatepegin=0 -datadir=/tmp/elements-test

alias cli='elements-cli -chain=elementsregtest -datadir=/tmp/elements-test'

cli createwallet default
cli rescanblockchain # pick up anyonecanspend

addr=$(cli getnewaddress)
for i in {1..26}; do cli sendtoaddress $addr 1; done

# the 26th transaction results in the following log message:
# [default] CommitTransaction(): Transaction cannot be broadcast immediately, too-long-mempool-chain, too many unconfirmed ancestors [limit: 25]
# (but `sendtoaddress` still replies successfully with its txid)

cli getmempoolinfo | jq .size
# prints 25 (the 26th transaction was ignored)

cli generatetoaddress 1 $addr

cli getmempoolinfo | jq .size
# still prints 25 -- all the transactions seem to be stuck in the mempool and don't get selected into mined blocks
```

#206 reported a similar issue (but possibly due to a different cause?).

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia riproducendo la sequenza di 26 transazioni con elementsd, sendtoaddress, getmempoolinfo e generatetoaddress in regtest, quindi traccia la gestione di too-long-mempool-chain mostrata nel log. Il lavoro è completato quando la catena di transazioni non confermate viene gestita in modo coerente e le transazioni possono essere selezionate in un blocco minato invece di rimanere bloccate nel mempool.

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

Valutazione

Stack tecnologico
cpp
Ambito
blockchain
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
38/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.