Skip to content

PoS chain powered by celestia-core (fork of tendermint) and the the cosmos-sdk

License

Notifications You must be signed in to change notification settings

astriaorg/celestia-app

This branch is 1025 commits behind celestiaorg/celestia-app:main.

Folders and files

NameName
Last commit message
Last commit date
Jun 21, 2023
Jun 27, 2023
May 25, 2023
Jun 15, 2023
Jun 21, 2023
Jun 27, 2023
Jun 23, 2023
May 22, 2023
Jun 26, 2023
Jun 27, 2023
Jun 27, 2023
Jun 16, 2023
May 31, 2023
Oct 17, 2022
Mar 9, 2023
Jun 15, 2023
Mar 16, 2021
Jun 19, 2023
Mar 10, 2023
Jun 19, 2023
Mar 30, 2023
Mar 30, 2023
Jun 23, 2023
Jun 23, 2023
Nov 30, 2022

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 parts of the Cosmos stack. celestia-app uses

Diagram

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

Install

  1. Install Go 1.20

  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

# Start a single node devnet using the pre-installed celestia app
./scripts/single-node.sh

# Build and start a single node devnet
./scripts/build-run-single-node.sh

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

Note: please note that the ./scripts/ commands above, created a random tmp directory and keeps all data/configs there.

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
  5. Install markdown-link-check

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

Docs

Package-specific READMEs aim to explain implementation details for developers that are contributing to these packages. The specs aim to explain the protocol as a whole for developers building on top of Celestia.

Careers

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

About

PoS chain powered by celestia-core (fork of tendermint) and the the cosmos-sdk

Resources

License

Stars

Watchers

Forks

Languages

  • Go 85.8%
  • JavaScript 13.1%
  • Other 1.1%