sendtoaddress
reports "insufficient fund", and getbalance
returns 0
during a payout loop #9
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
mining
question
rpc
ux
wallet
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: LBRYCommunity/lbcwallet#9
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
After successfully paying out a few addresses in a payout loop, the
sendtoaddress
returnsinsufficient fund
andgetbalance
returns0
. However, when a new block is mined,getbalance
returns normal amount, andsendtoaddress
continue to work.Note: This doesn't not block the integration with Yiimp, but still breaks the payout loop over multiple blocks.
The reason is a lack of UTXO liquidity.
The mass payout loop iterates through the receiving addresses and sequentially creates a single transaction for each receiver. This requires the wallet to have a sufficient number of UTXOs. Few large UTXOs won't help since each of them can be spent once, and the changes back to the wallet will have to wait until they are confirmed.
The number of UTXOs increases as every new block is mined for the wallet address of mining pools.
The wallet can also create raw transactions, or use something like
sendmany
to manually do the payout, or artificially break down large UTXOs into many smaller UTXOs to increase liquidity.