ElementsProject / ElementsProject/elements
Long unconfirmed transaction chain doesn't get mined in regtest
- 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