github.com/sunriselayer/sunrise-da@v0.13.1-sr3/README.md (about)

     1  # Sunrise Node
     2  
     3  [![Go Reference](https://pkg.go.dev/badge/github.com/sunriselayer/sunrise-da.svg)](https://pkg.go.dev/github.com/sunriselayer/sunrise-da)
     4  [![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/celestiaorg/celestia-node)](https://github.com/sunriselayer/sunrise-da/releases/latest)
     5  [![Go CI](https://github.com/sunriselayer/sunrise-da/actions/workflows/go-ci.yml/badge.svg)](https://github.com/sunriselayer/sunrise-da/actions/workflows/go-ci.yml)
     6  [![Go Report Card](https://goreportcard.com/badge/github.com/sunriselayer/sunrise-da)](https://goreportcard.com/report/github.com/sunriselayer/sunrise-da)
     7  [![codecov](https://codecov.io/gh/celestiaorg/celestia-node/branch/main/graph/badge.svg?token=CWGA4RLDS9)](https://codecov.io/gh/celestiaorg/celestia-node)
     8  
     9  Golang implementation of Sunrise's data availability node types (`light` | `full` | `bridge`).
    10  
    11  The sunrise-da types described above comprise the sunrise data availability (DA) network.
    12  
    13  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).
    14  
    15  Continue reading [here](https://blog.celestia.org/celestia-mvp-release-data-availability-sampling-light-clients) if you want to learn more about DAS and how it enables secure and scalable access to Sunrise chain data.
    16  
    17  ## Table of Contents
    18  
    19  - [Sunrise Node](#sunrise-da)
    20    - [Table of Contents](#table-of-contents)
    21    - [Minimum requirements](#minimum-requirements)
    22    - [System Requirements](#system-requirements)
    23    - [Installation](#installation)
    24    - [API docs](#api-docs)
    25    - [Node types](#node-types)
    26    - [Run a node](#run-a-node)
    27    - [Environment variables](#environment-variables)
    28    - [Package-specific documentation](#package-specific-documentation)
    29    - [Code of Conduct](#code-of-conduct)
    30  
    31  ## Minimum requirements
    32  
    33  | Requirement | Notes          |
    34  | ----------- |----------------|
    35  | Go version  | 1.22 or higher |
    36  
    37  ## System Requirements
    38  
    39  See the official docs page for system requirements per node type:
    40  
    41  - [Bridge](https://docs.celestia.org/nodes/bridge-node#hardware-requirements)
    42  - [Light](https://docs.celestia.org/nodes/light-node#hardware-requirements)
    43  - [Full](https://docs.celestia.org/nodes/full-storage-node#hardware-requirements)
    44  
    45  ## Installation
    46  
    47  ```sh
    48  git clone https://github.com/sunriselayer/sunrise-da.git
    49  cd sunrise-da
    50  make build
    51  sudo make install
    52  ```
    53  
    54  For more information on setting up a node and the hardware requirements needed, go visit our docs at <https://docs.celestia.org>.
    55  
    56  ## API docs
    57  
    58  The sunrise-da public API is documented [here](https://node-rpc-docs.celestia.org/).
    59  
    60  ## Node types
    61  
    62  - **Bridge** nodes - relay blocks from the sunrise consensus network to the sunrise data availability (DA) network
    63  - **Full** nodes - fully reconstruct and store blocks by sampling the DA network for shares
    64  - **Light** nodes - verify the availability of block data by sampling the DA network for shares
    65  
    66  More information can be found [here](https://github.com/sunriselayer/sunrise-da/blob/main/docs/adr/adr-003-march2022-testnet.md#legend).
    67  
    68  ## Run a node
    69  
    70  `<node_type>` can be: `bridge`, `full` or `light`.
    71  
    72  ```sh
    73  sunrise-da <node_type> init
    74  ```
    75  
    76  ```sh
    77  sunrise-da <node_type> start
    78  ```
    79  
    80  ## Network
    81  
    82  - **Mainnet** - the main network of Sunrise. Use tokens with real value
    83  - **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
    84  - **Private** - a network for testing new features. It may contain critical bugs. Do NOT normally use
    85  
    86  ### Run a bridge node
    87  
    88  Bridge nodes connect the data availability layer and the consensus layer.
    89  
    90  ```sh
    91  sunrise-da bridge init --core.ip <URI> --p2p.network <NETWORK>
    92  ```
    93  
    94  The `--core.ip` gRPC port defaults to 9090. Normally, set up a RPC node running sunrise-app.
    95  
    96  ```sh
    97  sunrise-da bridge start --core.ip <URI> --p2p.network <NETWORK>
    98  ```
    99  
   100  ### Run a full node
   101  
   102  Full storage nodes are Sunrise nodes that store all the data. Full storage nodes send block shares, headers, and fraud proofs to light nodes.
   103  
   104  ```sh
   105  sunrise-da full init --p2p.network <NETWORK>
   106  sunrise-da full start --core.ip <URI> --p2p.network <NETWORK>
   107  ```
   108  
   109  Start a full node using RPC. The bridge and full nodes refer to [bootstrap.go](./nodebuilder/p2p/bootstrap.go).
   110  
   111  ### Run a light node
   112  
   113  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.
   114  
   115  ```sh
   116  sunrise-da light init --p2p.network <NAME>
   117  sunrise-da light start --core.ip <URI> --p2p.network <NAME>
   118  ```
   119  
   120  ## Environment variables
   121  
   122  | Variable                | Explanation                         | Default value | Required |
   123  | ----------------------- | ----------------------------------- | ------------- | -------- |
   124  | `CELESTIA_BOOTSTRAPPER` | Start the node in bootstrapper mode | `false`       | Optional |
   125  
   126  ## Package-specific documentation
   127  
   128  - [Header](./header/doc.go)
   129  - [Share](./share/doc.go)
   130  - [DAS](./das/doc.go)
   131  
   132  ## Code of Conduct
   133  
   134  See our Code of Conduct [here](https://docs.celestia.org/community/coc).