## 第一章 基础概念
#### 1 什么是塞拉斯蒂亚?
Celestia 是一项突破性技术,可为 web3 应用程序提供支持、扩展和保护。它引入了一种称为模块化区块链的新区块链架构,解决了传统区块链面临的核心扩展挑战。模块化区块链不是由一个区块链完成所有工作,而是专门化和优化以执行特定任务。这种专业化实现了可扩展性、灵活性和互操作性的突破,使开发人员能够更轻松地构建区块链应用程序以供大规模采用。Celestia旨在通过为去中心化的未来提供可扩展且高效的基础设施来彻底改变区块链行业。
#### 2 什么是数据可用性采样 (DAS)?
数据可用性采样 (DAS) 是 Celestia 区块链中使用的一种技术,用于验证区块数据的可用性,而无需下载整个区块。它允许资源有限的轻节点通过仅对一小部分区块数据进行采样来参与网络。每个轻节点下载并存储一小部分区块数据,共同提高了整体数据可用性。通过增加执行 DAS 的轻节点数量,可以容纳具有更多事务的更大区块,同时仍确保资源有限节点的可行性。但是,为了验证区块头,Celestia 轻节点需要下载 4k 中间 Merkle 根。这意味着对于 n2 字节的块数据大小,每个轻节点必须下载 O(n) 字节。Celestia 轻节点的带宽容量对 Celestia 数据可用性 (DA) 层的吞吐量起着至关重要的作用。轻节点带宽容量的任何提高都会对 DA 层的整体吞吐量产生二次效应。总之,DAS 允许通过对块数据进行采样来有效验证 Celestia 中的数据可用性,从而在适应轻节点资源限制的同时实现可扩展性。
#### 3 完美的类比
想象一下,你有一大盒五颜六色的积木。现在,您无需检查框中的所有方块,只需随机选择几个方块即可查看它们是否存在。如果你不停地挑选不同的方块,而且它们都在那里,你可以非常自信地认为盒子里的所有方块都是可用的。在Celestia区块链中,我们使用了类似的想法。我们没有检查一个块中的所有数据,而是使用特殊的轻节点来只检查其中的一小部分。这些轻节点随机选择块的某些部分,以确保它们可用。如果他们发现他们检查的数据在那里,他们可以非常确定其余的数据也可用。这有助于我们确保无需下载所有内容即可访问块中的所有重要信息。这就像检查一个拼图的几块,以了解整个拼图是否完整。这样,即使是更小的设备也可以帮助确保区块链正常工作并保持安全。
因此,DAS 就像一种聪明的方法,可以检查所有重要数据是否都在那里,而无需查看所有内容。它有助于区块链更好地工作,并让更多设备成为其中的一部分。这不是很酷吗?
#### 4 Celestia上有哪些类型的节点?
有几种类型的节点在 Celestia 网络中发挥着重要作用:
1. 完全共识节点:这些节点就像 Celestia 网络的骨干。他们通过对区块进行生产和投票来参与共识过程。它们有助于保护网络并保持区块链平稳运行。
2. 验证者节点:验证者节点是一种特殊类型的全共识节点。他们不仅参与共识,还可以选择验证其他节点生成的区块。它们通过验证区块的正确性来帮助确保区块链的完整性。
3. 桥接节点:桥接节点充当数据可用性网络和共识网络之间的中介。它们有助于桥接这两个网络之间的模块,确保数据可供所有节点使用和访问。
4. 全存储节点:这些节点存储区块链的所有数据,但不积极参与共识过程。它们有助于维护区块链历史记录的完整副本,这可用于各种目的。
5. 轻节点:轻节点是节点的轻量级版本,用于验证区块头并执行数据可用性采样 (DAS)。它们不需要下载和存储所有块数据,因此适用于资源有限的设备。轻节点有助于提高网络的可扩展性,并允许更多设备参与 Celestia 网络。
每种类型的节点都有其独特的作用,并有助于Celestia区块链的整体功能和安全性。他们如何一起工作非常有趣,你不觉得吗?
#### 5 什么是数据可用性?
数据可用性是指Celestia区块链中数据的可访问性和存在性。简单来说,这意味着存储在区块链中的信息可供网络中的所有参与者访问。数据可用性对于区块链的正常运行和完整性至关重要。
在Celestia区块链中,数据可用性确保所有节点都可以访问必要的信息来验证交易,验证区块链的状态,并参与共识过程。它确保数据不仅被存储,而且所有授权参与者都可以访问和检索。
数据可用性是通过多种技术的组合实现的,包括数据可用性采样(DAS),其中节点对部分区块数据进行采样以验证其存在,以及使用桥接节点来弥合数据可用性网络和共识网络之间的差距。
通过确保数据可用性,Celestia旨在创建一个透明和可靠的区块链生态系统,参与者可以信任存储信息的完整性和可访问性。这是维护强大和安全的区块链网络的一个基本方面。
## 第二章 如何构建验证者节点的手顺
如何在 Celestia 区块链上构建验证者节点。以下是帮助您完成整个过程的分步指南,需要注意的是,本实施文档采用先综述再分布具体化的行文风格,同时,为了确保您在遇到扩展文档中的英文术语时不至于感觉陌生,本文档采取中英双语对照,您可以优先选择熟悉的语言开始第一次阅读:
### 综述:
1. #### Prepare your environment 准备环境:
– Ensure that you have a compatible operating system, such as Linux or macOS.
确保您拥有兼容的操作系统,例如 Linux 或 macOS。
– Allocate sufficient hardware resources, including CPU, RAM, and storage, to support the node's operations.
分配足够的硬件资源,包括 CPU、RAM 和存储,以支持节点的运行。
– Establish a stable and reliable internet connection to ensure uninterrupted communication with the Celestia network.
建立稳定可靠的互联网连接,以确保与 Celestia 网络的通信不间断。
2. #### Install Celestia: 安装 Celestia:
– Obtain the Celestia software by visiting the official Celestia website or trusted sources.
通过访问 Celestia 官方网站或可信来源获取 Celestia 软件。
– Follow the installation instructions specific to your operating system to install Celestia on your machine.
按照特定于您的操作系统的安装说明在计算机上安装 Celestia。
– Verify the successful installation by running the appropriate command to check the Celestia version.
通过运行相应的命令来检查 Celestia 版本,以验证安装是否成功。
3. #### Configure your Validator 配置验证器:
– Choose a unique and meaningful moniker name for your validator. This name will be displayed on public dashboards and explorers.
为您的验证者选择一个唯一且有意义的名字名称。此名称将显示在公共仪表板和资源管理器上。
– Create a validator wallet and ensure that it contains the required tokens for self-delegation.
创建一个验证者钱包,并确保它包含自我委托所需的代币。
– Familiarize yourself with the configuration options available for your Validator Node, such as network settings and security parameters.
熟悉可用于验证者节点的配置选项,例如网络设置和安全参数。
4. #### Connect to the network 连接到网络:
– Select the Celestia network you wish to connect your Validator Node to. You can choose from the available options based on your preferences.
选择您希望将验证者节点连接到的 Celestia 网络。您可以根据自己的喜好从可用选项中进行选择。
– Obtain the necessary network-specific details, including the chain ID, to ensure proper connectivity.
获取必要的特定于网络的详细信息,包括链 ID,以确保正确的连接。
– Configure your Validator Node to connect to the desired network by specifying the appropriate settings.
通过指定适当的设置,配置您的验证者节点以连接到所需的网络。
5. #### Create your validator on-chain 在链上创建验证器:
– Utilize the Celestia command-line interface (CLI) to execute the transaction for creating your validator on-chain.
利用 Celestia 命令行界面 (CLI) 执行交易以在链上创建验证器。
– Specify the amount of tokens you wish to self-delegate from your validator wallet during the creation process.
指定您希望在创建过程中从验证者钱包中自行委托的代币数量。
– Confirm the transaction and ensure that it is successfully processed and recorded on the blockchain.
确认交易并确保交易成功处理并记录在区块链上。
6. #### Start your Validator Node 启动验证者节点:
– Once the on-chain creation of your validator is complete, initiate your Validator Node using the Celestia CLI command.
验证器的链上创建完成后,使用 Celestia CLI 命令启动验证器节点。
– Monitor the logs and ensure that your Validator Node successfully connects to the network and begins participating in the consensus process.
监控日志,确保您的验证者节点成功连接到网络并开始参与共识过程。
– Regularly check the status of your Validator Node and keep it updated with the latest software releases and security patches.
定期检查验证者节点的状态,并使用最新的软件版本和安全补丁对其进行更新。
Building and running a Validator Node requires careful attention and responsibility. Stay committed to maintaining the security and integrity of the Celestia blockchain.
请注意,构建和运行验证者节点需要仔细的关注和责任。需要持续致力于维护Celestia区块链的安全性和完整性。
### 分解动作
#### 一 how to prepare the environment 如何准备环境
To prepare your environment for building a Validator Node on the Celestia blockchain, you need to ensure that you have the necessary components in place. Here's a guide to help you with the process:
要准备在 Celestia 区块链上构建验证者节点的环境,您需要确保拥有必要的组件。以下是帮助您完成该过程的指南:
1. 操作系统:
Operating System: 操作系统:
– Celestia is compatible with Linux and macOS operating systems. Choose the one that suits your preferences and requirements.
Celestia 与 Linux 和 macOS 操作系统兼容。选择适合您的偏好和要求的一种。
– Ensure that your operating system is up to date with the latest patches and updates. This helps maintain system security and stability.
确保您的操作系统是最新的,具有最新的补丁和更新。这有助于维护系统的安全性和稳定性。
2. Hardware Resources: 硬件资源:
– Allocate sufficient hardware resources to support the operations of your Validator Node.
分配足够的硬件资源
– A powerful CPU will enable efficient processing of transactions and consensus-related tasks.
强大的 CPU 将能够高效处理交易和共识相关
– Sufficient RAM is essential for smooth operation and handling of the blockchain data.
足够的RAM对于区块链数据的顺利运行和处理至关重要
– Allocate ample storage space to accommodate the Celestia software and blockchain data. SSD storage is recommended for optimal performance.
分配充足的存储空间以容纳 Celestia 软件和
3. Internet Connection: 互联网连接:
– A stable and reliable internet connection is crucial for seamless communication with the Celestia network.
稳定可靠的互联网连接对于与 Celestia 网络的无缝通信至关重要
– Ensure that your internet connection has sufficient bandwidth to handle the data transfer requirements of running a Validator Node.
确保您的互联网连接有足够的带宽来处理运行验证者节点的数据传输要求。
– Consider using a wired connection for enhanced stability, especially if you anticipate heavy network traffic. 考虑
4. Security Considerations:
安全注意事项:
– Implement appropriate security measures to protect your environment and the Validator Node.
实施适当的安全措施来保护您的环境和验证者节点。
– Keep your operating system and software up to date with the latest security patches.
使用最新的安全补丁使您的操作系统和软件保持最新状态。
– Utilize firewalls and other network security tools to safeguard your system from unauthorized access.
利用防火墙和其他网络安全工具来保护
– Consider using encryption and secure protocols for data transmission.
考虑使用加密和安全协议进行数据传输。
服务器的配置参数
当准备配置服务器以构建Celestia验证节点时,以下是一些推荐的配置参数:
1. CPU:选择一颗高性能的多核心处理器,例如Intel Xeon系列或AMD EPYC系列。这将确保您的服务器能够高效地处理Celestia节点的计算任务。
2. 内存(RAM):建议配置至少8GB的RAM,以确保您的服务器能够处理Celestia节点的内存需求。更大的内存容量可能会提高性能,特别是在处理大量交易和区块数据时。
3. 存储:建议使用SSD(固态硬盘)作为主要存储设备。SSD具有更快的读写速度,可以提高节点的响应性能。对于Celestia验证节点,至少需要250GB的存储空间来存储区块链数据。
4. 带宽:确保您的服务器具有足够的带宽来处理Celestia网络的数据传输需求。建议至少具备1Gbps的下载和上传带宽,以确保节点能够及时同步和传输区块链数据。
5. 操作系统:选择一个与Celestia兼容的操作系统,如Ubuntu、CentOS或Debian。确保您选择的操作系统版本是最新的,并定期进行更新和安全补丁。
6. 安全性:采取适当的安全措施来保护您的服务器和Celestia节点。使用防火墙和安全策略来限制对服务器的访问,并定期备份重要的数据。
请注意,这些配置参数仅供参考,您可以根据自己的需求和预算进行调整。确保您的服务器能够满足Celestia验证节点的资源需求,以确保节点的稳定性和性能。
详细说明如何安装 Celestia
当安装Celestia时,请按照以下步骤进行操作:
1. 获取Celestia软件:
– 访问Celestia官方网站(https://celestia.org)或可信的资源库,以获取Celestia软件的最新版本。
– 确保从官方来源下载软件,以确保安全性和完整性。
2. 安装依赖项:
– 在安装Celestia之前,您需要安装一些必要的依赖项。这些依赖项可能包括编译工具、库文件和其他软件包。
– 根据您的操作系统,执行相应的命令来安装所需的依赖项。以下是一些常见操作系统的示例命令:
– 在Ubuntu上,使用以下命令安装依赖项:
```
sudo apt update
sudo apt install build-essential git cmake libssl-dev pkg-config
```
– 在CentOS上,使用以下命令安装依赖项:
```
sudo yum update
sudo yum install gcc-c++ git cmake openssl-devel
```
3. 编译和安装Celestia:
– 解压下载的Celestia软件包,并进入解压后的目录。
– 执行以下命令来编译和安装Celestia:
```
mkdir build
cd build
cmake ..
make
sudo make install
```
4. 配置Celestia节点:
– 在安装目录中,找到Celestia的配置文件。通常,配置文件名为`celestial.toml`。
– 使用文本编辑器打开配置文件,并根据您的需求进行必要的配置更改。配置文件中包含有关网络设置、安全选项和其他参数的信息。
– 保存并关闭配置文件。
5. 启动Celestia节点:
– 在终端中,使用以下命令启动Celestia节点:
```
celestia-appd start
```
– 监视终端输出,确保Celestia节点成功启动,并连接到所选的网络。
– 您可以使用命令行界面(CLI)或图形用户界面(GUI)来与Celestia进行交互和管理。
如何验证安装是否成功
要验证Celestia安装是否成功,您可以执行以下步骤:
1. 检查安装目录:确认Celestia的安装目录是否包含所需的文件和文件夹。这些文件和文件夹可能包括可执行文件、配置文件和其他必要的资源。
2. 启动Celestia节点:在终端中,使用适当的命令启动Celestia节点。命令可能因您的操作系统和配置而有所不同。例如,在终端中执行以下命令来启动Celestia节点:
```
celestia-appd start
```
3. 监视日志输出:在启动Celestia节点后,监视终端输出或日志文件,以查看是否有任何错误或异常信息。正常情况下,您应该看到Celestia节点成功启动,并显示与网络连接相关的信息。
4. 检查节点状态:使用适当的命令检查Celestia节点的状态。例如,在终端中执行以下命令来检查节点状态:
```
celestia-appd status
```
如果节点状态显示为"running"或"active",则表示Celestia节点已成功安装并正在运行。
5. 连接到Celestia网络:使用适当的命令连接到Celestia网络。例如,在终端中执行以下命令来连接到Celestia网络:
```
celestia-appd connect
```
如果连接成功,并且您能够与其他节点进行通信和同步区块链数据,则表示Celestia安装成功。
请注意,以上步骤提供了一般的验证指南。确保在安装Celestia之前阅读官方文档,并遵循官方提供的详细安装说明。这将确保您正确地安装和配置Celestia,并能够顺利运行Celestia节点。
如果您在验证安装过程中遇到任何问题,请随时提问。我将尽力为您提供帮助和指导!
接下来,用详细步骤完成配置验证器
当配置验证器时,请按照以下详细步骤进行操作:
1. 生成验证器密钥对:
– 打开终端,并导航到Celestia安装目录。
– 使用以下命令生成验证器的密钥对:
```
celestia-appd keys add <validator_name> –keyring-backend test –output json
```
将
```
<validator_name>
```
替换为您想要为验证器使用的名称。
2. 保存验证器密钥信息:
– 在生成密钥对后,终端将显示包含验证器地址和公钥的JSON输出。
– 将此输出保存在安全的地方,以备将来使用。验证器地址和公钥是验证器身份的重要组成部分。
3. 配置验证器:
– 在Celestia安装目录中,找到Celestia的配置文件。通常,配置文件名为`celestial.toml`。
– 使用文本编辑器打开配置文件,并进行以下配置更改:
– 在`[validator]` `[validator]` 在部分,将`enabled`设置为`true`,以启用验证器功能。
– 在`[validator]`部分,将`validator_key`设置为您在步骤1中生成的验证器公钥。
– 在`[rpc]`部分,将`rpc_laddr`设置为您希望Celestia节点监听的RPC地址。
4. 启动验证器节点:
– 在终端中,使用以下命令启动Celestia验证器节点:
```
celestia-appd start
```
– 监视终端输出,确保验证器节点成功启动,并连接到所选的网络。
5. 加入验证器集合:
– 在Celestia网络中,验证器需要加入验证器集合,以参与共识过程。
– 使用以下命令将您的验证器添加到验证器集合中:
```
celestia-appd tx staking create-validator –amount <staking_amount> –pubkey <validator_pubkey> –moniker <validator_name> –chain-id <chain_id> –commission-rate <commission_rate> –commission-max-rate <commission_max_rate> –commission-max-change-rate <commission_max_change_rate> –min-self-delegation <min_self_delegation> –from <your_wallet_address> –keyring-backend test –gas auto –gas-prices <gas_prices>
```
将命令中的参数替换为以下内容:
– `<staking_amount>`:您希望用于质押的代币数量。
– `<validator_pubkey>`:您在步骤1中生成的验证器公钥。
– `<validator_name>`:您为验证器选择的名称。
– `<chain_id>`:Celestia网络的链ID。
– `<commission_rate>`:您希望设置的佣金率。
– `<commission_max_rate>`:允许的最大佣金率。
– `<commission_max_change_rate>`:允许的最大佣金率更改率。
– `<min_self_delegation>`:最小自我委托数量。
– `<your_wallet_address>`:您用于质押的钱包地址。
– `<gas_prices>`:您愿意支付的燃料价格。
– 输入您的钱包密码以确认交易。
6. 验证器配置验证:
– 等待一段时间,以便您的验证器被其他节点接受并开始参与共识过程。
– 使用以下命令检查验证器的状态:
```
celestia-appd query staking validator <validator_address> –chain-id <chain_id>
```
将
```
<validator_address>
```
替换为您的验证器地址,
```
<chain_id>
```
替换为Celestia网络的链ID。
– 如果命令返回的结果显示您的验证器状态为`BOND_STATUS_BONDED`,则表示您的验证器已成功配置并参与共识过程。
接下来以详细的步骤连接到网络
当连接到Celestia网络时,请按照以下详细步骤进行操作:
1. 确定要连接的Celestia网络:首先,确定您要连接的Celestia网络。根据您的选择,将选择以下之一:Mainnet Beta、Mocha或Arabica。
2. 设置网络变量:在终端中,使用以下命令设置网络变量,以便将其用于连接到相应的Celestia网络:
– 对于Mainnet Beta:
```
export NETWORK=celestia
```
– 对于Mocha:
```
export NETWORK=mocha
```
– 对于Arabica:
```
export NETWORK=arabica
```
3. 设置节点类型:在终端中,使用以下命令设置节点类型,以便将其用于连接到Celestia网络:
– 对于轻节点(Light):
```
export NODE_TYPE=light
```
– 对于桥接节点(Bridge):
```
export NODE_TYPE=bridge
```
– 对于完整节点(Full):
```
export NODE_TYPE=full
```
4. 设置RPC端点:在终端中,使用以下命令设置RPC端点,以便将其用于连接到Celestia网络。将`<RPC_URL>`替换为相应网络的RPC端点URL:
```
export RPC_URL=<RPC_URL>
```
5. 连接到Celestia网络:在终端中,使用以下命令连接到Celestia网络:
```
celestia-appd connect –node-type $NODE_TYPE –rpc-url $RPC_URL –chain-id $NETWORK
```
这将连接您的Celestia节点到指定的Celestia网络。等待一段时间,直到您的节点与网络中的其他节点建立连接并同步区块链数据。
6. 验证连接:使用以下命令验证您的Celestia节点是否成功连接到网络:
```
celestia-appd status
```
如果命令返回的结果显示节点状态为"running"或"active",则表示您的Celestia节点已成功连接到Celestia网络。
接下来以详细的步骤在链上创建验证器
当在Celestia链上创建验证器时,请按照以下详细步骤进行操作:
1. 选择验证器名称:首先,选择您希望在Celestia链上显示的验证器名称。这是您的验证器在公共仪表板和浏览器中显示的名称。
2. 设置验证器钱包:在之前的步骤中,您已经创建了一个验证器钱包。确保您拥有该钱包的地址和私钥,以便进行后续操作。
3. 获取验证器公钥:在终端中,使用以下命令获取您的验证器公钥:
```
celestia-appd tendermint show-validator
```
将返回一个长字符串,这是您的验证器公钥。
4. 创建验证器:在终端中,使用以下命令创建验证器:
```
celestia-appd tx staking create-validator –amount <staking_amount> –pubkey <validator_pubkey> –moniker <validator_name> –chain-id <chain_id> –commission-rate <commission_rate> –commission-max-rate <commission_max_rate> –commission-max-change-rate <commission_max_change_rate> –min-self-delegation <min_self_delegation> –from <validator_wallet_address> –keyring-backend test –gas auto –gas-prices <gas_prices>
```
将命令中的参数替换为以下内容:
– `<staking_amount>`:您希望用于质押的代币数量。
– `<validator_pubkey>`:您在步骤3中获取的验证器公钥。
– `<validator_name>`:您选择的验证器名称。
– `<chain_id>`:Celestia链的链ID。
– `<commission_rate>`:您希望设置的佣金率。
– `<commission_max_rate>`:允许的最大佣金率。
– `<commission_max_change_rate>`:允许的最大佣金率更改率。
– `<min_self_delegation>`:最小自我委托数量。
– `<validator_wallet_address>`:您的验证器钱包地址。
– `<gas_prices>`:您愿意支付的燃料价格。
输入您的钱包密码以确认交易。
5. 等待验证器激活:一旦您提交了创建验证器的交易,您的验证器将进入待激活状态。在此期间,其他网络参与者将对您的验证器进行投票。一旦您的验证器获得足够的投票,它将被激活并开始参与共识过程。
接下来以详细的步骤启动验证者节点
当启动Celestia验证者节点时,请按照以下详细步骤进行操作:
1. 打开终端:打开您的终端应用程序,以便在命令行界面中执行操作。
2. 进入Celestia节点目录:在终端中,使用以下命令进入Celestia节点的目录:
```
cd <celestia_node_directory>
```
将`<celestia_node_directory>`替换为您安装Celestia节点的目录路径。
3. 启动验证者节点:在终端中,使用以下命令启动Celestia验证者节点:
```
celestia-appd start
```
这将启动Celestia验证者节点,并开始与Celestia网络中的其他节点进行通信和同步。
4. 等待节点同步:一旦您的验证者节点启动,它将开始同步Celestia网络中的区块链数据。这个过程可能需要一些时间,取决于网络的大小和您的节点的性能。请耐心等待,直到您的节点完成同步。
5. 验证节点状态:使用以下命令验证您的Celestia验证者节点的状态:
```
celestia-appd status
```
如果命令返回的结果显示节点状态为"running"或"active",则表示您的Celestia验证者节点已成功启动并与Celestia网络连接。
请注意,启动验证者节点需要一些时间,并且您的节点必须保持在线以参与共识过程。确保您的节点具有足够的资源和稳定的互联网连接。


