I am currently using Alchemy but would like to switch to infura because it looks cheaper. Our app is dependent on being able to get consistent state from the blockchain i.e. we want to ensure that we are always load balanced to a node with the same state whenever we make a call to infura. Alchemy have this guarantee in their “supernode infra” but before switching to infura i’d like to confirm this is a guarantee i.e. i will never be load balanced to 2 nodes with conflicting state in a re-org situation.
If there are any docs around this please link me to them as I did look but I couldn’t find anything from searching.
Hi @spiz thanks for considering Infura as your infrastructure provider. We have a robust system architecture which protects users of the API from most classes of consistency issues that you encounter with querying Ethereum data. I know other providers make guarantees about this consistency but in a proof-of-work blockchain with probabilistic finality, we can only promise so much. We try to be forthright and transparent with our marketing and documentation. We can’t prevent re-orgs but we can make your app aware of when they occur so you can react appropriately based on your use case. As you start testing in the transition please keep us updated and our support team is always here to help you if you have any questions or need help testing or reviewing your application architecture.
That’s just a load of sales jargon, it did not help at all. My question is the following:
Given I make the exact same request to infura at the exact same time and get load balanced to 2 different nodes is it possible that those 2 nodes have conflicting states in the case of a reorg. Or am i guaranteed to see the same state from both nodes (even if its the wrong state). Our app is dependent on getting consistent (even if consistently wrong) states of the blockchain.