Jupiter is a research-only adapter making Celestia compatible with the Sovereign SDK. None of its code is suitable for production use. It contains known security flaws and numerous inefficiencies.
The current version of Jupiter runs against Celestia-node version v0.5.0-rc5
. This is the version used on the arabica
testnet
as of Dec 1, 2022.
- Clone this repository.
cd jupiter
- Clone the celestia-app, celestia-core, and cosmos-sdk repositories (
git clone --depth 100 {repo_name}
) - Install the
buf
Protobuf management tool (brew install bufbuild/buf/buf
) - Install the
prost
plugin for the Protobuf compiler (which generates Rust code from .proto files):cargo install protoc-gen-prost
- Build the Celestia-app protobuf definitions:
cd celestia-app
,cp ../example.buf.gen.prost.yaml buf.gen.prost.yaml
, andbuf generate --template buf.gen.prost.yaml
- Follow the same steps to generate protobufs in the
cosmos-sdk/proto
andcelestia-core
repos.
The repository should now compile with cargo build
!
Follow the steps here to set up a Celestia light node running on the Arabica testnet.
Use the celestia version
command to verify that your new light client is running Celestia version v0.5.0-rc5
. If not, the
Juptier codebase may require changes to match upcoming tweaks to Celestia's data format.
Jupiter assumes that the local Celestia node is running its RPC server on port 26659, so use something like the following command
to start your Celestia node: celestia light start --core.ip https://limani.celestia-devops.dev --gateway --gateway.port 26659
.
Once your Celestia node is up and running, simply cargo run
to test out the prototype.