Comments (4)
Here's how I think we can do this.
- A blob is accepted into the mempool. Tendermint doesn't interpret the blob. (no change)
CheckTx
takes in a blob and returns a list of transactions IDs. Each transaction ID is the hash of the non-witness data. Since each blob in the mempool could correspond to multiple transactions, we need to return a list here. (change)- Blobs in the mempool are links to two IDs:
- Hash of the blob in its entirety. This is used at the p2p layer for unconfirmed txs, i.e. before accepting a new tx, check against the blob hash, (unchanged)
- List of transactions IDs. This is used for evicting confirmed txs. When receiving a new block, evict any txs from the mempool that are included in the block based on transactions ID.(change)
- In order to evict txs that are seen in a block,
DeliverTx
should return a since transaction ID.
from celestia-core.
related: tendermint/spec#201
and tendermint/tendermint#7917
from celestia-core.
A first, non-invasive approach (at least for the tendermint side) would be to use "re-check" for evicting the mempool:
https://github.com/tendermint/tendermint/blob/f9c54d2710d7a83b2d40fd96f973a0ffba75e740/mempool/clist_mempool.go#L639-L656
and
https://github.com/tendermint/tendermint/blob/f9c54d2710d7a83b2d40fd96f973a0ffba75e740/mempool/clist_mempool.go#L464-L485
This means that the app needs to track the (mempool) Tx, that it processed and "accepted" in the preprocess step.
from celestia-core.
As per the above this isn't something urgent and IMO we can close this for now.
from celestia-core.
Related Issues (20)
- Pushed trace data sometimes gets cutoff
- allows local tracer's push config to be read from env variables
- Providing feedback on the missing env variables related to the local tracing push config
- Compact historical queries HOT 2
- OpenAPI specs for the `prove_shares` endpoint
- Gossip block parts in order instead of randomly HOT 2
- Replicate the dynamic timeout issues in a knuu test HOT 2
- EPIC: Optimized Version of Compact Blocks
- Only reap txs that have been in the proposer’s mempool for a configurable amount of time.
- Add a high priority proposal txs channel in CAT
- Add more peers only to the mempool reactor
- Ask for wants from the first peer that gossips the compact block
- Distribute block data in compact blocks as block parts
- Upgrade to CometBFT v0.34.33
- Use `go.mod` go version in CI HOT 1
- Difference between `Validate` and `Verify` in `ShareProof` and `RowProof` HOT 3
- Return more information if `ShareProof` and `RowProof` verification failed
- Return a new file when reading trace files
- Sending messages slows to a crawl when connecting more peers. HOT 2
- Increase MaxBlockSizeBytes to 128 MiB in a release of the celestia-core HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from celestia-core.