-
Notifications
You must be signed in to change notification settings - Fork 296
feat: unified interface for da worker #1021
feat: unified interface for da worker #1021
Conversation
Codecov ReportPatch coverage has no change and project coverage change:
Additional details and impacted files@@ Coverage Diff @@
## main #1021 +/- ##
==========================================
- Coverage 42.45% 40.71% -1.74%
==========================================
Files 86 96 +10
Lines 10617 11069 +452
Branches 10617 11069 +452
==========================================
Hits 4507 4507
- Misses 5598 6050 +452
Partials 512 512
☔ View full report in Codecov by Sentry. |
add integration test for Avail DA layer
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few questions on top of my mind :
- What happens if the madara nodes see that the DA was not updated correctly ?
- What does it mean to be in Validity
DaMode
for a client likeCelestiaClient
? Does it just mean we also publish state updates on L1 ?
I think it means we publish the state, but also prove the state update computation |
that can allow us to implement a version of Validity |
@drspacemn just fix the CI and rebase and we can merge |
Here's the correct link for Avail btw : https://availproject.github.io/api/use-case-validiums/#verify-data-availability-on-ethereum |
@drspacemn I still find a few things confusing here regarding SHARP/DA coupling
|
|
Sounds good, would be great to document all of these questions and features to work on, probably the best place is a GH discussion, wdyt @drspacemn ? Otherwise let's merge this PR which is a great starting point to on-board new contributors and great work on this again! |
PR is based on unifying the 3 DA Implementations here:
Avail
Celestia
Ethereum
The primary interface draws logic from @Leouarz interface here
(some methods internalized to the config initialization)
DaClient implementers are meant to be built from config.json files located at <madara_path>/da-config.json, but are also expected to have sensible defaults.
The Enum DaMode defines the potential data availability modes for Madara. As proving functionality is not currently functional, all modes default to Validium:
Summary of Changes
ExtendedRunCommand
:da-layer
[ethereum, celestia,avail]state_diff
to the selected DA and verify that thestate_diff
output is included in the correct place.Configuration file
When launching the node da config file is expected at
<madara-path>/da-config.json
An example of running a node w/ DA.
Launch with Avail
da-config.json
You can find instruction to launch the Avail node. TLDR:
Launch with Celestia
da-config.json
Set up and run a Celestia light node
Requires the installation of the celestia CLI tool (available here). Once you have that set up, run the following:
Next, we need to generate a JWT to access our light node:
Launch with Ethereum
da-config.json
Start Anvil and Deploy altered Core Contracts
Integration Testing to be done via
scripts/da_devnet.sh
.