节点管理

节点管理

常用命令

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
最后更新于