Skip to content

PoS application for the consensus portion of the Celestia network. Built using celestia-core (fork of CometBFT) and the cosmos-sdk

License

Notifications You must be signed in to change notification settings

Pan-chao/celestia-app

Repository files navigation

celestia-app

Go Reference mdBook Specs GitHub Release Go Report Card Lint Tests / Code Coverage codecov GitPOAP Badge

celestia-app is a blockchain application built using Cosmos SDK and celestia-core in place of Tendermint.

Diagram

                ^  +-------------------------------+  ^
                |  |                               |  |
                |  |  State-machine = Application  |  |
                |  |                               |  |   celestia-app (built with Cosmos SDK)
                |  |            ^      +           |  |
                |  +----------- | ABCI | ----------+  v
Celestia        |  |            +      v           |  ^
validator or    |  |                               |  |
full consensus  |  |           Consensus           |  |
node            |  |                               |  |
                |  +-------------------------------+  |   celestia-core (fork of Tendermint Core)
                |  |                               |  |
                |  |           Networking          |  |
                |  |                               |  |
                v  +-------------------------------+  v

Install

  1. Install Go 1.19

  2. Clone this repo

  3. Install the celestia-app CLI

    make install

Usage

# Print help
celestia-appd --help

Environment variables

Variable Explanation Default value Required
CELESITA_HOME Home directory for the application User home dir. Ref. Optional

Create your own single node devnet

# WARNING: this deletes config, data, and keyrings from previous local devnets
rm -r ~/.celestia-app

# Start a single node devnet
./scripts/single-node.sh

# Post data to the local devnet
celestia-appd tx blob PayForBlobs [hexNamespace] [hexBlob] [flags]

See https://docs.celestia.org/category/celestia-app for more information

Contributing

Tools

  1. Install golangci-lint
  2. Install markdownlint
  3. Install hadolint
  4. Install yamllint

Helpful Commands

# Build a new celestia-app binary and output to build/celestia-appd
make build

# Run tests
make test

# Format code with linters (this assumes golangci-lint and markdownlint are installed)
make fmt

# Regenerate Protobuf files (this assumes Docker is running)
make proto-gen

Package-specific documentation

Careers

We are hiring Go engineers! Join us in building the future of blockchain scaling and interoperability. Apply here.

About

PoS application for the consensus portion of the Celestia network. Built using celestia-core (fork of CometBFT) and the cosmos-sdk

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 87.7%
  • JavaScript 10.6%
  • Other 1.7%