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

Some text for the spec concerning Unchained Index smart contract #124

Open
tjayrush opened this issue Sep 14, 2022 · 0 comments
Open

Some text for the spec concerning Unchained Index smart contract #124

tjayrush opened this issue Sep 14, 2022 · 0 comments

Comments

@tjayrush
Copy link
Member

We've fully implemented multi-chain, but we (TrueBlocks) is only ever going to scrape/publish/pin the index chunks for mainnet, sepolia, and perhaps gnosis.

I want to write a document called Indexing Other Chains and explain that anyone can index any (EVM) chain. One of the things we did with the Unchained Index smart contract was allow anyone to publish the hash produced by chifra scrape --pin (and chifra chunks manifest --pin) -- these options are only available in v0.40.0 and later. I tried to write about this on page 9 of this document: https://trueblocks.io/papers/2022/file-format-spec-v0.40.0-beta.pdf. It needs work.

The basic idea is that anyone may publish any hash to this smart contract without restrictions. The publisher's (i.e. the sender's) address is recorded with the publication of the hash. Later, our (TrueBlocks') can query the hashes based on which chain they want but also, importantly, which publisher they want. In our case, our software will always query ourselves as the publisher. If you publish hashes to BSC's index, and IF I TRUST YOU -- MY CHOICE -- then I can pick up your index hashes. I want to extend that contract to keep a count of how many people have published an identical hash -- for example, the query could be -- "always query TrueBlocks as publisher for Ethereum mainnet, but also check to see if a bunch of other people are saying there's a different (perhaps better) index." It's a method to allow people to challenge us as the publisher of Mainnet and hopefully a way to find and correct errors. And it encourages the community to decide which one is correct.

(Sorry, I'm just writing this up so I can copy and paste it into my documentation...)

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

No branches or pull requests

1 participant