Closed DistributedDoge closed 7 months ago
Agree! Love this idea and it actually moves "trust" in the right direction.
The ideal goal would be to get all the data from your own nodes, but that's only an ideal. The solution you propose moves us into that direction so let's go for it!
As a side note, would love to check how long does it takes cryo
to get the same data from the interesting networks.
Is the Project Registry
contract you're thinking about 0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3
?
I am thinking about Allo v1 where contracts aren't as nicely lined up across chains, each having different address. Best source I found so far is deployment list in documentation -> chains.md.
I made a .parquet
file with all contracts addresses + chain names and pinned it to IPFS here, data was extracted like so.
ProjectRegistry
(proxy) for mainnet is here, 0x03506eD3f57892C85DB20C36846e9c808aFe9ef4
You know what is the status of Allo v1 vs v2?
I made a .parquet file with all contracts addresses + chain names and pinned it to IPFS here, data was extracted like so.
Yessss! Should we put the extraction logic into it's own Dagster asset?
For bulk data (e.g. all votes) it is probably best to use RPC approach outlined in #1 but for events/transactions that are less frequent, free tier of Covalent API could work as lightweight alternative.
As proof of concept I would start with
Project Registry
contract as it has few transactions so free covalent API can handle fetching them in reasonable time, across all important chains and without consuming too many free monthly credits.Implementation outline would be:
ProjectRegistry
contract on each interesting chain.CovalentAPI
resource configured withcovalent_api_key
secret.Contract Registry
contracts.End goal is knowing how much gas was spent on creating and updating project profiles on different chains + reconciling whatever Indexer is telling us with another source.