Skip to main content
BlockX 是一个 Go 单仓(模块名 github.com/Chaintable/blockx),python/ 里放 Python executor、SDK 和审计器。本页帮你在拿到仓库后快速定位代码;系统级职责划分见 系统架构总览

分层约定

AGENTS.md 定义目录骨架,docs/specs/code-style.md 把它展开成可检查的实现约束。要点如下:
  • cmd/:只放装配和启动。Worker 与 Coordinator 的入口是一个 app.Profile 清单加一行 app.Run(...)cmd/worker/main.goworkerProfile() 列出 DeploymentServiceWorkerRegistryPrefixUsageServiceBuildersPluginscmd/bundle_worker/main.go 只是换了一份清单并通过 TuneDefaults 调默认值。装配顺序、关停顺序、配置解析都在 internal/worker/app/internal/coordinator/app/,不能按入口复制。
  • internal/<module>/core/:Sans-IO 领域逻辑。状态机、幂等判定、阶段推进、结果收敛都在这里,例如 internal/worker/core/worker.goWorkerCoreinternal/worker/core/dispatcher.goDispatcherCore
  • internal/<module>/adapters/:transport、存储、时钟、日志、指标等副作用。例如 internal/worker/adapters/grpc_server.goetcd_publisher.goorchestrator*.go,以及子包 internal/worker/adapters/executor/(UDS 执行器适配器与进程池)。
  • internal/<module>/app/:装配与配置。internal/worker/app/config.goWorkerFullConfig 是配置真相,app.goProfile 建 builder/plugin 注册表、IO backend 模块,并串起启动与关停。
  • scope-oriented 模块:internal/io/ 不走事件/命令 core,而是用 WorkerIOScopeinternal/io/core/worker_scope.go)和 TaskIOScopeinternal/io/core/task_scope.go)把 quota、cache、singleflight、cleanup 绑定到作用域生命周期。
  • api/:跨模块共享的协议结构、消息包络、字段约定。允许无副作用的校验和编解码辅助,不放 handler、存储模型或状态机。
  • python/:不受 code-style.md 直接约束;运行与测试命令见 python/README.mdAGENTS.md
code-style.md §3 与 §5 对三层的依赖规则可以概括为一段话:core/ 不得引用 gRPC、etcd client、数据库 client、日志实现、指标实现,不自己取时间、生成随机值或启动 goroutine,尽量不接 context.Context;取消、超时、TTL 到期都作为显式输入传进来,输出是可枚举的命令、决策结果或状态快照。adapters/ 拥有全部 IO 与并发,负责把 core 的命令翻译成副作用,并把定时器、执行器、Plugin、IO 回调重新包装成 core 事件。app/cmd/ 只做装配,不加领域判断、准入策略或协议语义分支。adapter 调用 core 时直接依赖具体类型(WorkerCoreCoordinatorCore),不为 core 额外抽 interface。

模块索引

站内页面链接指向对应组件页;“主要 spec”是 blockx 仓库 docs/specs/ 下的文件。

cmd/

internal/

api/python/e2e/ 及其他

构建单个二进制用 go build ./cmd/<name>Dockerfile 和各 cmd/*/README.md 用的都是这条命令。

docs/specs 索引

docs/specs/ 放行为语义的设计文档。文件名有两种:无日期前缀的是子系统长期设计(按子系统命名,如 plugin-system.md),YYYY-MM-DD- 前缀的是某次增量设计或变更方案,日期是方案提出时间,落地后文件留在原处,部分在开头标注状态(如 2026-07-21-block-bundle-clusters.md 的”状态:Implemented”)。 必读六篇:architecture.mdworker.mdcall-execution-subsystem.mdio-subsystem.mdplugin-system.mdcode-style.md

”我想改 X,该看哪里”

相关文档