Indexer implementation and service integration tests.
Recap of the certificate to the index steps:
Certificate + metadata is verified before adding to the mempool;
Certificate is converted to vid + metadata if inserted to the mempool;
Indexer is subscribed to the block stream and goes through the vids in a new block;
If attested, app+index is used as a key in the rocksdb backend and the vid set as value.
When caller asks for range of indexes for particular app_id, indexer just queries for that range in the rocksdb-adapter, in response replacing app+index=vid to app+index=Option<Blob>.
The blob storage for now is assumed to be filesystem - app_id as a directory and vid as a filename for the blob bytes. The const directory should be replaced from the one provided in a settings, this could be done when verifier and indexer are integrated together.
Rocksdb could be used for blob storage, it has a feature called BlobDB(this might be a separate implementation/version), but the usage of it is not clear at the moment.
To run the service integration test:
cargo test -p nomos-da-indexer --features rocksdb-backend
Indexer implementation and service integration tests.
Recap of the certificate to the index steps:
app+index
is used as a key in the rocksdb backend and thevid
set as value.When caller asks for range of indexes for particular
app_id
, indexer just queries for that range in the rocksdb-adapter, in response replacingapp+index=vid
toapp+index=Option<Blob>
.The blob storage for now is assumed to be filesystem -
app_id
as a directory andvid
as a filename for the blob bytes. Theconst
directory should be replaced from the one provided in a settings, this could be done when verifier and indexer are integrated together.Rocksdb could be used for blob storage, it has a feature called BlobDB(this might be a separate implementation/version), but the usage of it is not clear at the moment.
To run the service integration test: