Replies: 1 comment 2 replies
-
This is based on the backend you are using. If you are using the default provider, you are using a collection of backends and will only get the range available by the lowest common denominator (based on the quorum). If you are using INFURA (for example), you must sign up (and pay) for access to their archive node. The data requirements (both capacity and speed) for an archive node are tremendous, which is why most services that provide them require additional usage fees. You can see on INFURA there is an additional cost of $250/mo for access to full archive data. Note that other than executing code against historical sate (which is what you are doing), archive node access is not generally necessary for safe, Trustless interactions with Ethereum. So, if you are backfilling a database, you may need to only temporarily pay for the archive data to fill in your database. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Describe the bug
I'm trying to query the owner of an ERC721 at a specific time:
contract.ownerOf(0, {blockTag : blockHeight}).catch((err) => {});
This returns the owner address if I use a recent
blockHeight
(within the last 12-24 hours), but if I make the same query a day later, it returnsundefined
until I provide a more recent blockHeight. This means I effectively can't query the historic owner of an ERC721.For example:
Reproduction steps
Run this: (be sure to have
provider
set).Environment:
Rinkeby
, althought his appears to occur in production as well.Using Infura provider.
Beta Was this translation helpful? Give feedback.
All reactions