-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
soroban-rpc: Add eta
field for transactions for more efficient polling
#372
Comments
My vote is: "don't do it". ETA implies that soroban-rpc has an understanding of the state of core's transaction queue but core provides no such information |
With the eta the longest a client will wait before polling is likely around 5 seconds. If we assume that without an ETA the clients polls once every 0.5 seconds and the transaction is accepted in the next ledger, the presence of the ETA has the potential to save somewhere between 0 and 9 requests. Or 0 and 4 requests if the clients polls every 1 second. Is that too many requests? If the clients has to wait a while due to congestion it might add up. How clever would we expect the eta to be? Would it be eta to next ledger only, or use other inputs like fees, and network load? |
@leighmcculloch maybe instead of an ETA soroban-rpc can include a latest-ledger-ingested-timestamp (which is nice metadata to have for most endpoints) and then the client can determine an eta? |
(when I originally read the description I thought that |
we added the last ledger close time to the response. from that an |
What problem does your feature solve?
When a user submits a txn, they have no idea when it will be included in a ledger, so the client has to poll frequently to check.
What would you like to see?
Add an
eta
field (as in stellar-deprecated/soroban-docs#289), tosendTransaction
andgetTransactionStatus
, which is a timestamp of the earliest we would expect the transaction to be included in a ledger.What alternatives are there?
The text was updated successfully, but these errors were encountered: