Teztale: Collect attested slots from L1 node and push them to server
What
Parent MR: !20111
This MR makes the Teztale archiver fetch DAL attested slots from the L1 node and push these slots to the Teztale server via the /\<LEVEL\>/dal_attested_slots endpoint introduced in !20111.
Why
We want to know which slots have been attested at each level.
How
Steps followed:
- The generic archiver pipeline (
general_archiver) obtains the necessary attested slots information from the DAL node plugin; - The remote archiver (
Server_archiver) sends the resulting per-delegate slots attested to Teztale at/<LEVEL>/dal_attested_slots; - For <= Seoul protocols, we don't change anything.
Manually testing the MR
Manual test on ghostnet:
- I started an L1 node on
ghostnet(with the usual steps):
./octez-node run --data-dir ~/.tezos-node-ghostnet --rpc-addr 127.0.0.1:18733 --net-addr 127.0.0.1:19733
and waited for it to be bootstrapped.
- I started a Teztale server
./octez-teztale-server ./teztale.json
- I started a Teztale archiver to
feeddata from the L1 node to the server:
./octez-teztale-archiver --endpoint http://127.0.0.1:18733 feed http://gabriel:secret@127.0.0.1:8080
- I checked the Teztale DB:
sqlite3 teztale.db '
SELECT
o.level,
HEX(o.hash),
das.slot_index
FROM dal_attested_slots AS das
JOIN operations AS o ON o.id = das.operation
ORDER BY o.level DESC, o.hash, das.slot_index
LIMIT 5;
'
16716386|03AAA89D12E88F882E4380C99BE486C03EE4272AE97CE7AB4EFDB0965AD45BFC|8
16716386|03AAA89D12E88F882E4380C99BE486C03EE4272AE97CE7AB4EFDB0965AD45BFC|10
16716386|30432839CE84DB99FEBD4000771AF72FF24BB4744DEE19A5B867066181F173CE|8
16716386|30432839CE84DB99FEBD4000771AF72FF24BB4744DEE19A5B867066181F173CE|10
16716386|5D5AEA2382561784AC4C17C29213DABB5594CD9C7C70D907806C5C8EC9AE58B9|8
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Gabriel Moise