crypto-org-chain / cronos

Cronos is the first Ethereum-compatible blockchain network built on Cosmos SDK technology. Cronos aims to massively scale the DeFi, GameFi, and overall Web3 user community by providing builders with the ability to instantly port apps and crypto assets from other chains while benefiting from low transaction fees, high throughput, and fast finality.
Other
288 stars 230 forks source link

Problem: don't support distributed state query service #725

Open yihuang opened 1 year ago

yihuang commented 1 year ago

Currently to provide distributed public json-rpc service, one need to run multiple full nodes, each node sync the chain directly. With the help of recent new features, it's possible to replicate the chain state directly and setup cheaper distributed query service.

We just need one more piece to complete the puzzle: replicate the state stream across multiple processes.

Implementation ideas:

Future Works

grpc service alone is not very interesting in the context of cronos, json-rpc is more important, for json-rpc service to work, we also need to sync the tendermint dbs(mainly the raw blocks and tx execution results).

yihuang commented 1 year ago

open a http server to serve these files.

probably ok to ask user to setup a third-party http server for this, after all, we are talking about setting up distributed service here.

JayT106 commented 1 year ago

how do we know the result of the state query from the untrusted party is correct? How do we verify it?

yihuang commented 1 year ago

how do we know the result of the state query from the untrusted party is correct? How do we verify it?

it's only for trusted parties, like the public rpc services.