go-da defines a generic Data Availability interface for modular blockchains.
Method | Params | Return |
---|---|---|
MaxBlobSize |
uint64 |
|
Get |
ids []ID |
[]Blobs |
GetIDs |
height uint64 |
[]ID |
Commit |
blobs []Blob |
[]Commitment |
Validate |
ids []Blob, proofs []Proof |
[]bool |
The following implementations are available:
- celestia-da implements Celestia as DA.
- avail-da implements Polygon Avail as DA.
In addition the following helper implementations are available:
- DummyDA implements a Mock DA useful for testing.
- Proxy implements a proxy server that forwards requests to a gRPC server. The proxy client can be used directly to interact with the DA service.
# Generate protobuf files. Requires docker.
make proto-gen
# Lint protobuf files. Requires docker.
make proto-lint
# Run tests.
make test
# Run linters (requires golangci-lint, markdownlint, hadolint, and yamllint)
make lint
We welcome your contributions! Everyone is welcome to contribute, whether it's in the form of code, documentation, bug reports, feature requests, or anything else.
If you're looking for issues to work on, try looking at the good first issue list. Issues with this tag are suitable for a new external contributor and is a great way to find something you can help with!
Please join our Community Discord to ask questions, discuss your ideas, and connect with other contributors.
See our Code of Conduct here.