节点管理
常用命令
celestia rpc node Info # 查询节点信息
celestia rpc p2p Info # 节点 peerId 信息的 RPC 调用不常用命令
# 重置节点
celestia-appd tendermint unsafe-reset-all --home xxx
# 获取当前节点的账户地址
celestia rpc state AccountAddress
# 获取指定高度的区块头
celestia rpc header GetByHeight [height]
# 获取数据可用性采样相关的统计
celestia rpc das SamplingStats
# 初始化节点时设置配置信息
celestia bridge init --core.ip localhost --core.rpc.port 26657 --core.grpc.port 9090 --p2p.network blockspacerace交易
# 转账
celestia rpc state Transfer $TO_ADDRESS [amount in utia] [gas fee in utia] [gas fee in utia]token
# 方法一: 配置跳过认证则不需要 token
skipAuth=True
# 方法二: 创建 token
celestia light auth --node.store /home/user1/celestia/node/nodes/light admin
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBbGxvdyI6WyJwdWJsaWMiLCJyZWFkIiwid3JpdGUiLCJhZG1pbiJdfQ.OG5ptA9d6Dn4V4qRiRttX0_yUDHWk5wqZtoy18b2lIM搭建轻节点
# 轻节点也可以质押
# 先启动轻节点, 然后用共识客户端进行质押
celestia light init
celestia light init --p2p.network blockspacerace # 初始化时选择节点
# 编译钱包程序
make cel-key
# 创建钱包 - Ting 是钱包名称
./cel-key add Ting --keyring-backend test --node.type light
# 启动轻节点
celestia light start --core.ip https://rpc-mocha.pops.one --core.grpc.port 9090
celestia light start --core.ip <ip-address> --p2p.network blockspacerace轻节点管理
# 初始化轻节点
celestia light init --p2p.network arabica
celestia light init --p2p.network mocha
# run
celestia light start --core.ip <> --p2p.network <network>
celestia light start --p2p.network mocha --core.ip rpc-mocha.pops.one --core.port 9090
# 创建密钥
cel-key add key_name --keyring-backend test --node.type light --p2p.network <network>全节点
# 创建全节点
celestia full init
# run
celestia full start --core.ip <>配置文件
[Node]
StartupTimeout = "2m0s"
ShutdownTimeout = "2m0s"
[Core]
IP = "172.28.10.101"
RPCPort = "26657"
GRPCPort = "9090"
[State]
DefaultKeyName = "full"
DefaultBackendName = "test"
[P2P]
ListenAddresses =["/ip4/0.0.0.0/udp/2121/quic-v1/webtransport", "/ip4/0.0.0.0/udp/2121/quic-v1", "/ip4/0.0.0.0/udp/2121/webrtc-direct", "/ip4/0.0.0.0/tcp/2121"]
AnnounceAddresses = []
NoAnnounceAddresses = ["/ip4/127.0.0.1/udp/2121/quic-v1/webtransport", "/ip4/0.0.0.0/udp/2121/quic-v1/webtransport", "/ip6/::/udp/2121/quic-v1/webtransport", "/ip4/0.0.0.0/udp/2121/quic-v1", "/ip4/127.0.0.1/udp/2121/quic-v1", "/ip6/::/udp/2121/quic-v1", "/ip4/0.0.0.0/udp/2121/webrtc-direct", "/ip4/127.0.0.1/udp/2121/webrtc-direct", "/ip6/::/udp/2121/webrtc-direct", "/ip4/0.0.0.0/tcp/2121", "/ip4/127.0.0.1/tcp/2121", "/ip6/::/tcp/2121"]
MutualPeers = []
PeerExchange = true
RoutingTableRefreshPeriod = "1m0s"
[P2P.ConnManager]
Low = 800
High = 1000
GracePeriod = "1m0s"
[RPC]
Address = "localhost"
Port = "26658"
SkipAuth = false
[Gateway]
Address = "localhost"
Port = "26659"
Enabled = false
# Share 模块参数主要用于配置数据可用性(Data Availability, DA)层的共享存储和交换机制
[Share]
# 是否启用共享交换(Share Exchange); 如果设置为 true, 节点将参与共享数据的交换, 这有助于提高数据可用性和网络的去中心化程度
UseShareExchange = true
[Share.EDSStoreParams]
# 垃圾回收间隔时间; 设置为 "0s" 表示禁用垃圾回收, 这可能导致存储空间的持续增长, 但可以提高性能
GCInterval = "0s"
# 最近区块的缓存大小; 这个参数决定了缓存中保留的最近区块数量, 有助于快速访问最新的区块数据
RecentBlocksCacheSize = 10
# 区块存储的缓存大小; 这个参数决定了缓存中保留的区块存储数据的大小, 可以提高数据读取的效率
BlockstoreCacheSize = 128
[Share.ShrExEDSParams]
ServerReadTimeout = "5s"
ServerWriteTimeout = "1m0s"
# 处理请求的超时时间
HandleRequestTimeout = "1m0s"
# 并发限制; 这个参数决定了服务器同时处理的最大请求数量
ConcurrencyLimit = 10
# 缓冲区大小; 这个参数决定了每个请求的缓冲区大小, 每个请求的缓冲区大小为 32KB
BufferSize = 32768
# 共享交换的网络数据
[Share.ShrExNDParams]
ServerReadTimeout = "5s"
ServerWriteTimeout = "1m0s"
HandleRequestTimeout = "1m0s"
ConcurrencyLimit = 10
# 对等节点(Peer)管理相关
[Share.PeerManagerParams]
PoolValidationTimeout = "2m0s"
PeerCooldown = "3s"
GcInterval = "30s"
EnableBlackListing = false
# 节点发现机制相关
[Share.Discovery]
PeersLimit = 5
AdvertiseInterval = "1h0m0s"
[Header]
TrustedHash = "DC14F2924439C7DFB6994AB461EAD1C18D80918FC77B0768F3443FED9AB9E8FD"
TrustedPeers = ["/ip4/172.28.10.1/tcp/2121/p2p/12D3KooWKFt3QjmSxxuSA3Cf3qRuaDpKewhryYsnkqVWKJah1Wfz"]
[Header.Store]
StoreCacheSize = 4096
IndexCacheSize = 16384
WriteBatchSize = 2048
[Header.Syncer]
TrustingPeriod = "336h0m0s"
[Header.Server]
WriteDeadline = "8s"
ReadDeadline = "1m0s"
RangeRequestTimeout = "10s"
[Header.Client]
MaxHeadersPerRangeRequest = 64
RangeRequestTimeout = "8s"
[DASer]
SamplingRange = 100
ConcurrencyLimit = 6
BackgroundStoreInterval = "10m0s"
SampleFrom = 1
SampleTimeout = "2m0s"
[Pruner]
EnableService = false最后更新于