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

Support Storage Chains #292

Merged
merged 11 commits into from
Jun 24, 2021
Merged

Support Storage Chains #292

merged 11 commits into from
Jun 24, 2021

Conversation

insipx
Copy link
Collaborator

@insipx insipx commented Jun 9, 2021

No description provided.

@insipx
Copy link
Collaborator Author

insipx commented Jun 9, 2021

Not super happy with this kind of support because it feels like I copy-pasted the substrate code and modified it a bit. Would be nice if maybe things were more open in client/db/src/libbut it's understandable why they are not; but we need this kind of setup since we run an alternative secondary-db rather than a primary rocks instance (we have our own implementation for the database trait).

@paxelpixel
Copy link

this is the best thing ever. I've been pulling my hair out trying to query historical data via rpc and its super slow.

I can't believe there is this substrate-archive project. this is the best thing ever

@paxelpixel
Copy link

thank you for making this project @insipx this exactly what I need!!

@dvdplm dvdplm requested a review from TarikGul June 24, 2021 10:42
Copy link
Member

@TarikGul TarikGul left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm, Question: Whats the main advantage of TransactionStorageMode::StorageChain vs ...::BlockBody as a body scheme? I understand the core logic here, but I couldn't find any docs on the benefits or higher level reason for the StorageChain.

@insipx
Copy link
Collaborator Author

insipx commented Jun 24, 2021

Lgtm, Question: Whats the main advantage of TransactionStorageMode::StorageChain vs ...::BlockBody as a body scheme? I understand the core logic here, but I couldn't find any docs on the benefits or higher level reason for the StorageChain.

Best write-ups i've found are here and the other PR's in the tracking issue here

AFAIU it the storage chain feature comes down to chains that want to use a different storage scheme which allows them to point to specific pieces of stored extrinsics on-chain via something like IPFS. Hence why the extrinsics are stored in their own column in RocksDB

@insipx insipx merged commit 70ea921 into master Jun 24, 2021
@insipx insipx deleted the insipx/storage-chains branch June 25, 2021 17:36
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

Successfully merging this pull request may close these issues.

4 participants