celestia-app

module
v0.2.1-workflow.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 11, 2023 License: Apache-2.0

README

celestia-app

Go Reference 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.18+

  2. Clone this repo

  3. Install the celestia-app CLI

    make install
    

Usage

# Print help
celestia-appd --help
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.

Directories

Path Synopsis
app
cmd
pkg
da
shares
Package shares provides primitives for splitting block data into shares and parsing shares back into block data.
Package shares provides primitives for splitting block data into shares and parsing shares back into block data.
proto
test
interchain Module
testground Module
x
blob
blob is a Cosmos SDK module that enables users to pay for data to be published to the Celestia blockchain.
blob is a Cosmos SDK module that enables users to pay for data to be published to the Celestia blockchain.
blob/types
Package types is a reverse proxy.
Package types is a reverse proxy.
qgb
qgb/types
Package types is a reverse proxy.
Package types is a reverse proxy.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL