在 GCP 上运行 Appchain 节点
在 Google Cloud Platform 上部署和管理 Syndicate Appchain 节点
此集成正在积极开发中。若要帮助改进本指南或获取运行您自己的 Appchain 节点的技术支持,请加入我们的 Discord。如需报告错误,您可以在 https://github.com/SyndicateProtocol/syndicate-appchains/issues 创建一个新问题。
开发者要求
本指南假设读者:
- 熟悉容器化和 Docker
- 熟练使用
ssh在远程机器上执行命令 - 熟悉使用云服务提供商(如 GCP)运行和维护基础设施
背景
本指南使您能够轻松地在 Google Cloud Platform (GCP) 上部署和管理 Syndicate 读取节点,以访问您的 Appchain 的链上数据。您的节点将运行开源 Syndicate Stack 的组件。
读取节点为现有的 Appchain 执行状态推导——允许您直接从自己的基础设施查询交易、余额和其他区块链数据。
目前,读取节点配置可通过 GCP Marketplace 部署。 对应的 写入节点 配置也将在 GCP Marketplace 中提供,目前正在积极开发中。
部署和配置您的 RPC 节点
要在 Google Cloud Platform 上部署 Syndicate RPC 节点,请执行以下步骤。
-
访问 Google Cloud Web3 门户或 Marketplace 中的 "Syndicate Appchain Read Node" 产品,并点击 启动 按钮。
-
选择 Terraform 部署选项卡,为您的 RPC 虚拟机提供一个描述性名称(例如
my-appchain-rpc-node),并选择或配置服务账户。 -
在 VM 实例配置 部分,输入或选择适当的值:
- 区域:选择靠近用户的区域(例如,
us-central1-a) - 机器类型:
n2-standard-8(8 个 vCPU,32 GB RAM),生产环境的最低推荐配置 - 磁盘:
- Syndicate 数据磁盘:生产环境最低推荐 100GB
- Nitro 数据磁盘:生产环境最低推荐 200GB
- 网络:可选设置,用于自动将此 RPC 暴露到互联网。如果希望单独管理网络/防火墙配置,请保持未选中状态。
- 区域:选择靠近用户的区域(例如,
-
点击 部署 按钮,等待控制台确认资源已运行。
-
SSH 登录到您的 Compute Engine VM,并编辑以下文件。与 Syndicate 协调,确保在每个文件中设置正确的应用链特定覆盖配置。
# Set Sequencing Ingestor overrides sudo vi /opt/rpc-node/sequencing_ingestor.env # Set Settlement Ingestor overrides sudo vi /opt/rpc-node/settlement_ingestor.env # Set M-Chain overrides sudo vi /opt/rpc-node/mchain.env # Set Translator overrides sudo vi /opt/rpc-node/translator.env # Set Nitro overrides sudo vi /opt/rpc-node/nitro.env # Nitro chain info sudo vi /opt/rpc-node/config/chain_info.json -
在 docker 中启动所有服务:
sudo docker compose -f /opt/rpc-node/docker-compose.yml up -d -
当 docker 容器运行时,验证节点是否正常工作。
如果您通过上面的防火墙配置启用了公共访问,则可以使用其外部 IP 地址测试 RPC:
curl -X POST http://[EXTERNAL_IP]:8545 \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'如果您未启用公共访问,则可以从 VM 内部使用
localhost测试 RPC:curl -X POST http://localhost:8545 \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'您应该收到一个包含区块编号的 JSON 响应。如果不是最新区块,则您的节点可能仍在同步中。
管理您的 RPC 节点
您可以通过登录到 VM 并运行以下命令来检查 RPC 节点的状态:
# View running containers
sudo docker ps
# Check service logs
sudo docker compose -f /opt/rpc-node/docker-compose.yml logs访问您的 RPC 节点
如果您在上面启用了公共访问,则您的 RPC 节点会暴露以下端点:
- HTTP:
http://[EXTERNAL_IP]:8545 - WebSocket:
ws://[EXTERNAL_IP]:8548
如果您未启用公共访问权限,那么您的 RPC 节点只能从您的 VPC 内部访问:
- HTTP:
http://[INTERNAL_IP]:8545 - WebSocket:
ws://[INTERNAL_IP]:8548
可观测性
这些 Syndicate Appchain 节点开箱即用地集成了基本的可观测性功能。只需打开 GCP 控制台中 Compute Engine 菜单的 Observability 选项卡,即可查看此节点的指标和日志。
故障排除
为什么我的节点无法处理交易?它返回了以下错误:error code -32000: publishing transactions not supported by this endpoint
目前,GCP Marketplace 仅支持 Syndicate 只读节点。在支持完整节点之前,这种错误响应是预期的。如果您需要能够处理交易的 RPC 端点,请联系 Syndicate。
其他支持
如果您在启动 RPC 节点时遇到本指南未提及的问题,请通过我们的 Discord 获取额外支持。