Rebroadcast Solana transactions on client side #37310
Labels
feature/web3/wallet/core
feature/web3/wallet/solana
feature/web3/wallet
Integrating Ethereum+ wallet support
OS/Android
Fixes related to Android browser functionality
OS/Desktop
priority/P3
The next thing for us to work on. It'll ride the trains.
QA Pass - Android ARM
QA Pass-Win64
QA/Yes
release-notes/include
Milestone
https://twitter.com/brianlong/status/1775554526340141130
Shared by @onyb, it seems RPC retry queues are less reliable than rebroadcast from client side.We should update our logic from default not sending maxRetries argument to maxRetries: 0 to turn off retry on RPC nodes.
And for dApp which specifies maxRetries in sendOptions, the behavior is unchanged, the value passed will continue to be respected and used.
Update: Following the practice of bat-go project, it seems it is better to do both rebroadcast and retries on RPC nodes for better success rate.
For rebroadcasting, we will do so periodically until we're sure the blockhash is expired (after 150 blocks) or we receive error for the transaction.
extra material: https://solana.com/docs/core/transactions/retry#customizing-rebroadcast-logic
The text was updated successfully, but these errors were encountered: