Skip to content

Latest commit

 

History

History
39 lines (28 loc) · 1.48 KB

README.md

File metadata and controls

39 lines (28 loc) · 1.48 KB

DAWave

A quick hack to understand and use EigenDA. Application mimics radio station. Users can subscribe to certain channels to listen for new messages. Anyone can send a message to a particular channel to alert all listeners of the channel.

eigenda-proto contains autogenerated clients to interact with the EigenDA disperser.

dawave contains the CLI application. Currently hard-coded to Holesky testnet. For mainnet, replace the disperser url and contract address.

Usage

Can install as an executable via cargo install --path . or just run it using cargo.

# to listen to a particular channel
# NODE_URL is a websocket endpoint, i.e. wss://eth-holesky.public.blastapi.io
cargo run --release -- listen <NODE_URL> <CHANNEL_NAME>

# to send a message to a particular channel
cargo run --release -- send-message <CHANNEL_NAME> <MESSAGE>

# or if you installed the executable 
dawave listen <NODE_URL> <CHANNEL_NAME>

# to send a message to a particular channel
dawave send-message <CHANNEL_NAME> <MESSAGE>

Notes/Learnings

  • proto files obtained from here.
  • Disperser registers blobs approx once every 3 mins.
  • No real way to get all blobs outside of listening to new events on the contract and attempting to retrieve all blob indices starting from 1, 2, ... until an error. Maybe a GetBlobCount method or something might be useful.
  • Seeing some latency between seeing the event emitted and being able to retrieve blobs.