Skip to content
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

Light Client: No node available for call proof query. #1524

Open
david9991 opened this issue Apr 12, 2024 · 4 comments
Open

Light Client: No node available for call proof query. #1524

david9991 opened this issue Apr 12, 2024 · 4 comments

Comments

@david9991
Copy link

I am encountering this error after starting the light client and committing a transaction immediately. The error message is:

2024-04-12T03:02:33.716878Z  WARN tx-service-ia-parachain: Failed to validate transaction 0xb812…7771: Error when retrieving the call proof: No node available for call proof query    
thread 'tests::test_light_client' panicked at src/tests.rs:166:10:
called `Result::unwrap()` on an `Err` value: Transaction(Dropped("Transaction was dropped"))

To workaround the issue, I have to add a 20 seconds delay between starting the light client and committing the first transaction. Anyone run into this?

@david9991 david9991 changed the title No node available for call proof query. Light Client: No node available for call proof query. Apr 12, 2024
@jsdw
Copy link
Collaborator

jsdw commented Apr 12, 2024

Is this when you start a light client pointed at a dev node, or when you're connecting to a chain that's been producing blocks for a while?

We have tests that run a light client against a brand new dev node, and IIRC for those we need to wait a few blocks before we can start interacting with it!

@david9991
Copy link
Author

@jsdw I am connecting to a testnet has a relay chain with four validators and a para chain with two collators, they have been producing blocks for days. So how can we determine whether the light client is ready to process the transactions exactly (like some sort of Ready indicator or event)?

@jsdw
Copy link
Collaborator

jsdw commented Apr 12, 2024

Good question! @lexnv I think you've run into similar things before; do you know of any way we can wait for Smoldot to be ready?

@lexnv
Copy link
Contributor

lexnv commented Apr 15, 2024

We ran into a similar TransactionDropped event when using the light-client for our testing in subxt.

There are a few things we could do about it in subxt:

  • wait for more blocks to be produced (around 4 finalized blocks iirc)
  • submit transaction with a backoff retry strategy when encountering a TransactionDropped event

Ideally, we'd need to reproduce this with logs enabled and raise the issue in smoldot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants