Story Docs 中文版
by DocsZH
  • Story 协议介绍
    • 什么是 Story
    • Story 图解
    • 常见问题
    • 快速入门
  • Story 网络 (Layer 1)
    • Story 网络指南
      • 钱包设置
      • 节点设置
      • 验证者操作
      • 代币经济学和质押
    • 网络常见问题
  • 相关概念
    • 概述
    • IP 资产
      • IPA 元数据标准
    • IP 账号
    • 协议模块
      • 基本模块
      • Hooks
      • 如何创建和注册模块
    • 许可模块
      • 许可证模板
      • 许可条款
      • 许可证代币
      • 许可证配置 / Hook
    • 版税模块
      • IP 版税库
      • 流动性绝对百分比 (LAP)
      • 流动性相对百分比 (LRP)
      • 外部版税政策
    • 争议模块
    • 群组模块
    • 注册表
      • IP 资产注册
      • 群组 IP 资产注册
      • 许可证注册
      • 模块注册
    • 可编程 IP 许可 (PIL)
      • PIL 条款
      • PIL 版本示例
    • 访问控制器
    • Story 协议网关 (SPG)
      • 批量函数调用
    • 常见问题
  • 开发者
    • 开发教程
      • 如何注册音频 IP
      • 如何给 IP 设置打赏
      • 如何在 Story 注册 IP
    • TypeScript SDK
      • TypeScript SDK 设置
      • 注册 IP 资产
      • 注册许可条款
      • 将条款附加到 IP 资产
      • 铸造许可证代币
      • 注册衍生品
      • IP 资产支付
      • 领取收入分成
    • 智能合约
      • 项目部署
      • 将 NFT 注册为 IP 资产
      • 注册许可条款
      • 为 IP 资产附加许可条款
      • 铸造许可代币
      • 混合 IP 资产二次创作
      • 申领版税
      • 使用示例
    • 已部署合约
    • 有用的资源
    • Github发布页面
    • 版本矩阵
由 GitBook 提供支持
在本页
  • 硬件要求
  • 端口设置
  • 默认文件路径
  • 执行客户端设置 (story-geth)
  • 共识客户端设置 (story)
  1. Story 网络 (Layer 1)
  2. Story 网络指南

节点设置

上一页钱包设置下一页验证者操作

最后更新于5个月前

本节将展示如何设置Story网络节点。Story从以太坊权益证明中汲取灵感,将执行客户端和共识客户端分离。执行客户端story-geth通过Engine ABI将EVM区块中继到Story共识客户端,并使用ABCI++适配器使EVM与CometBFT状态兼容。在这种架构下,共识效率不再受执行交易吞吐量的限制。

story和geth binary文件是运行Story节点所需的客户端,可从Story Github最新release页面获取:

  • story-geth执行客户端:

    • 版本链接:

    • 最新稳定版 (v0.10.0):

  • story共识客户端:

    • 版本链接:

    • 最新稳定版 (v0.12.1):

重要提示:对于Odyssey测试网,必须从v0.12.0版本开始,因为后续升级都需要先安装此版本。请先下载此版本,以确保与测试网环境兼容。此外,请确认下载的binary文件与你的系统架构适配。

硬件要求

硬件
最低要求

CPU

4 核处理器

内存

16 GB

硬盘

200 GB

带宽

25 MBit/s

如果在AWS服务器上运行节点,建议使用M6i、R6i或C6i系列。

端口设置

确保已开启以下节点运行所需的所有端口。

  • story-geth

    • 8545

      • 如果希望节点通过HTTP上的JSON-RPC API交互,该端口必需开启。

    • 8546

      • WebSockets交互需要。

    • 30303 (TCP + API)

      • 开放点对点通信。

  • story

    • 26656

      • 开放共识客户端点对点通信。

    • 26657

      • 如果希望节点连接Tendermint RPC接口,该端口必需开启。

    • 26660

      • 如果希望公开prometheus指标,该端口必需开启。

默认文件路径

默认情况下,共识和执行客户端设置在以下数据文件夹:

  • Mac OS X

    • story 根目录: ~/Library/Story/story

    • story-geth根目录: ~/Library/Story/geth

  • Linux

    • story根目录: ~/.story/story

    • story-geth根目录: ~/.story/geth

在本节教程中,我们将story数据根目录命名为${STORY_DATA_ROOT},将geth数据根目录命名为${GETH_DATA_ROOT}。

下载Story binary文件时,请注意,文件名会根据操作系统而有所不同。例如,在AMD64架构的Linux系统中,binary文件可能命名为story-linux-amd64或geth-linux-amd。这种命名方式有助于识别版本兼容性,但为简单起见,建议在下载后将binary文件重命名为story。

mv story-linux-amd64 story

运行上方代码,接下来,你可以直接在终端中使用story命令来执行程序。在本文档的其余部分,我们将默认使用story命令。

执行客户端设置 (story-geth)

  1. 在Mac OS X系统中,OS X binary文件尚未通过Story构建流程签名,因此可能需要手动解除隔离:

sudo xattr -rd com.apple.quarantine ./geth
  1. 接下来,使用下方代码,运行 geth:

./geth --odyssey --syncmode full
  • 目前,默认的 snap 节点同步模式仍在开发中。

状态清除

如果遇到问题,并希望从初始状态加入网络,请运行下方代码:

rm -rf ${GETH_DATA_ROOT} && ./geth --odyssey --syncmode full
  • Mac OS X: rm -rf ~/Library/Story/geth/* && ./geth --odyssey --syncmode full Mac OS X: rm -rf ~/Library/Story/geth/* && ./geth --odyssey --syncmode full

  • Linux: rm -rf ~/.story/geth/* && ./geth --odyssey --syncmode full Linux的: rm -rf ~/.story/geth/* && ./geth --odyssey --syncmode full

状态调试

如果你想在geth运行时检查其状态,可以通过其内置的IPC-RPC服务器进行通信,运行下方代码:

geth attach ${GETH_DATA_ROOT}/geth.ipc
  • Mac OS X:

    • geth attach ~/Library/Story/geth/odyssey/geth.ipc

  • Linux:

    • geth attach ~/.story/geth/odyssey/geth.ipc

这将连接到你的IPC服务器,你可以运行以下命令以查询相关信息:

  • eth.blockNumber : 列出geth同步的最新区块——如果显示值为undefined,则连接或同步故障。

  • admin.peers : 列出客户端连接的其他geth节点列表——如果列表为空,则连接或同步故障。

  • eth.syncing : 如果geth正在同步,将返回true值,反之,则返回false值。

共识客户端设置 (story)

你可以通过设置--home ${STORY_CONFIG_FOLDER}在story客户端覆盖这些默认配置。同样,对于geth,你可以设置--config ${GETH_CONFIG_FOLDER}。更多详细信息,请查看Story Github的自述文件:。

Creating a private network
story-geth/releases
story-geth/v0.10.0
story/releases
story/v0.12.1