⚠️ celestia-da is deprecated. See the migration guide for details.
celestia-da is an implementation of the Generic DA interface for modular blockchains. It extends celestia-node and runs a gRPC service, which can be used by rollup clients to read and write blob data to a specific namespace on celestia.
Requirement | Notes |
---|---|
Go version | 1.22 or higher |
git clone https://github.com/rollkit/celestia-da.git
cd celestia-da
make build
sudo make install
celestia-da is a wrapper around celestia-node, so see celestia node documentation for details on configuring and running celestia-node.
celestia-da connects to celestia-node using JSON-RPC using the node rpc endpoint. See node rpc docs for details.
celestia-da exposes a gRPC service that can be used with any gRPC client to submit and retrieve blobs from a specific namespace on the celestia network.
Note that celestia-da version may differ from the bundled celestia-node
version. Use the celestia-da version
command to print the build information
including the bundled celestia-node version.
To start a celestia-da instance, use the preferred node type with start
command along with the gRPC specific flags as documented below.
Run celestia-da light mainnet node with a default DA interface server accepting blobs on a randomly chosen namespace:
celestia-da light start
--core.ip <public ip>
--da.grpc.namespace $(openssl rand -hex 10)
Note that the celestia-node RPC auth token is auto generated using the default
celestia-node store. If passed, the da.grpc.token
flag
will override the default auth token.
Flag | Usage | Default |
---|---|---|
da.grpc.namespace |
celestia namespace to use (hex encoded) | none; required |
da.grpc.address |
celestia-node RPC endpoint address | http://127.0.0.1:26658 |
da.grpc.listen |
gRPC service listen address | 127.0.0.1:0 |
da.grpc.network |
gRPC service listen network type | tcp |
da.grpc.token |
celestia-node RPC auth token | --node.store auto generated |
da.grpc.gasprice |
gas price for estimating fee (utia/gas ) |
-1 celestia-node default |
See celestia-da light/full/bridge start --help
for details.
- Install golangci-lint
- Install markdownlint
- Install hadolint
- Install yamllint
# Print celestia-da version build information, including bundled celestia-node version
celestia-da version
# Run unit tests
make test-unit
# Run all tests including integration 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.