Skip to content
This repository has been archived by the owner on Sep 1, 2024. It is now read-only.

sunriselayer/sunrise-da

 
 

Repository files navigation

Sunrise DA

Go Reference GitHub release (latest by date including pre-releases) Go CI Go Report Card codecov

Golang implementation of Sunrise's data availability node types (light | full | bridge).

The sunrise-da types described above comprise the sunrise data availability (DA) network.

The DA network wraps the sunrise-core consensus network by listening for blocks from the consensus network and making them digestible for data availability sampling (DAS).

Continue reading here if you want to learn more about DAS and how it enables secure and scalable access to Sunrise chain data.

Table of Contents

Minimum requirements

Requirement Notes
Go version 1.22 or higher

System Requirements

See the official docs page for system requirements per node type:

Installation

git clone https://github.com/sunriselayer/sunrise-da.git
cd sunrise-da
make build
sudo make install

For more information on setting up a node and the hardware requirements needed, go visit our docs at https://docs.celestia.org.

API docs

The sunrise-da public API is documented here.

Node types

  • Bridge nodes - relay blocks from the sunrise consensus network to the sunrise data availability (DA) network
  • Full nodes - fully reconstruct and store blocks by sampling the DA network for shares
  • Light nodes - verify the availability of block data by sampling the DA network for shares

More information can be found here.

Run a node

<node_type> can be: bridge, full or light.

sunrise-da <node_type> init
sunrise-da <node_type> start

Network

  • Mainnet - the main network of Sunrise. Use tokens with real value
  • Testnet - This network is used to test operations on the mainnet. Normally, the same environment as the mainnet is provided, but tokens have no value
  • Private - a network for testing new features. It may contain critical bugs. Do NOT normally use

Run a bridge node

Bridge nodes connect the data availability layer and the consensus layer.

sunrise-da bridge init --core.ip <URI> --p2p.network <NETWORK>

The --core.ip gRPC port defaults to 9090. Normally, set up a RPC node running sunrise-app.

sunrise-da bridge start --core.ip <URI> --p2p.network <NETWORK>

Run a full node

Full storage nodes are Sunrise nodes that store all the data. Full storage nodes send block shares, headers, and fraud proofs to light nodes.

sunrise-da full init --p2p.network <NETWORK>
sunrise-da full start --core.ip <URI> --p2p.network <NETWORK>

Start a full node using RPC. The bridge and full nodes refer to bootstrap.go.

Run a light node

Light nodes ensure data availability. This is the most common way to interact with Sunrise networks. It does NOT require large storage or high-speed connections.

sunrise-da light init --p2p.network <NAME>
sunrise-da light start --core.ip <URI> --p2p.network <NAME>

Environment variables

Variable Explanation Default value Required
SUNRISE_BOOTSTRAPPER Start the node in bootstrapper mode false Optional

Package-specific documentation

Packages

No packages published

Languages

  • Go 99.0%
  • Other 1.0%