-
Notifications
You must be signed in to change notification settings - Fork 33
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
[Persistence] Base transaction indexer #151
Labels
Milestone
Comments
Recommend to use a filesystem db for the implementation Currently we are between Please use one of these two options |
90% sure I'm going to choose leveldb without even fully reading all the
information
…On Fri, Aug 5, 2022, 2:11 PM Andrew Nguyen ***@***.***> wrote:
*Recommend* to use a filesystem db for the implementation
Currently we are between Badger.db and Level.db
Please use one of these two options
—
Reply to this email directly, view it on GitHub
<#151 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A2AZNC6NZOKRI2O4G26DH3DVXVKNHANCNFSM55W3ZBZQ>
.
You are receiving this because you were assigned.Message ID:
***@***.***>
|
This was referenced Aug 17, 2022
Olshansk
changed the title
[Indexer] Base transaction indexer
[Persistence] Base transaction indexer
Sep 5, 2022
andrewnguyen22
pushed a commit
that referenced
this issue
Sep 20, 2022
## Description Transaction storage (indexing) is a fundamental component of any blockchain system. For M1, this is P0 closes #151 ## Type of change Please mark the options that are relevant. - [x] New feature (non-breaking change which adds functionality) ## How Has This Been Tested? - [x] Unit tests ___REPLACE_ME_: Describe the tests and that you ran to verify your changes. If applicable, provide steps to reproduce. Bonus points for images and videos or gifs._ - [x] `make test_all` - [x] [LocalNet](https://github.com/pokt-network/pocket/blob/main/docs/development/README.md) ## Checklist - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [x] I have tested my changes using the available tooling
16 tasks
andrewnguyen22
pushed a commit
that referenced
this issue
Oct 21, 2022
## Description Issue-#151 laid the foundation for a proper transaction indexer in isolation. The integration of the transaction indexer into the M1 lifecycle is pending and required. Integrate the transaction indexer into the lifecycle of M1 ## Issue Fixes #168 ## Type of change Please mark the relevant option(s): - [x] New feature, functionality or library - [ ] Bug fix - [ ] Code health or cleanup - [ ] Major breaking change - [ ] Documentation - [ ] Other <!-- add details here if it a different type of change --> ## List of changes <!-- List out all the changes made--> - Added `TxIndexer` sub-package (previously in Utility Module) - Added `TxIndexer` to both `PersistenceModule` and `PersistenceContext` - Implemented `TransactionExists` and `StoreTransaction` - Stores transactions along side blocks during `commit` - Added current block `[]TxResult` to the module - Moved TxIndexer package to persistence module - Added new proto structure `DefaultTxResult` - Integrated the `TxIndexer` into the lifecycle - Captured `TxResult` from each played transaction - Moved the storage of transactions to the Consensus Module - Returned the `TxResults` in the `ApplyBlock()` and `GetProposalTransactions()` - `AnteHandleMessage()` now returns `signer` - `HandleMessage()` now returns `messageType` and `recipient` - `ApplyTransaction()` returns `TxResult` - Modified interface for Utility Module `ApplyBlock` and `GetProposalTransactions` to return `TxResults` - Modified interface for Persistence Module `StoreTransaction` to store the `TxResult` - Added shared interface `TxResult` under types.go ## Testing - [x] `make develop_test` - [x] [LocalNet](https://github.com/pokt-network/pocket/blob/main/docs/development/README.md) w/ all of the steps outlined in the `README` ## Required Checklist - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [x] I have tested my changes using the available tooling - [x] I have updated the corresponding CHANGELOG ### If Applicable Checklist - [ ] I have updated the corresponding README(s); local and/or global - [x] I have added tests that prove my fix is effective or that my feature works - [ ] I have added, or updated, [mermaid.js](https://mermaid-js.github.io) diagrams in the corresponding README(s) - [ ] I have added, or updated, documentation and [mermaid.js](https://mermaid-js.github.io) diagrams in `shared/docs/*` if I updated `shared/*`README(s)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Objective
indexer
for arbitrary transaction bytesprotobuf3
(already used throughout the project) for encoding and afilesystem db
for storage<sha3>hash
,height
,sender
,recipient (if applicable)
interface
for write and readunit
,fuzz
, andintegration
testsExample interface
Origin Document
Thus transaction storage (indexing) is a fundamental component of any blockchain system. For M1, this is P0
Goals / Deliverables
General issue checklist
Creator: @andrewnguyen22
The text was updated successfully, but these errors were encountered: