# TCS-IPTV 内容可信锁定系统 > MA码(监管身份)+ 哈希码(技术指纹)双锚定,在 CP / 审核和监管部门 / 运营商 三方系统之上建立"可信身份映射层"。 > > 上游文档:`../0-req-IPTV.md`(需求)、`../1-prd-IPTV.md`(PRD)、`../2-task-IPTV.md`(任务) ## 技术栈 - 后端 / 链交互 / 哈希SDK:Go 1.23 + Gin - 智能合约:Go(ChainMaker 链原生) - 联盟链:长安链 ChainMaker 2.x(国密) - 数据库 / 缓存:PostgreSQL 16 / Redis 7.x - 监管大屏:React 18 + Ant Design 5 + ECharts ## 工程结构 ``` tcs-iptv/ ├── cmd/ # 各服务入口 │ ├── api-svc/ # 业务后端(验真/签发/映射/下架/查询) │ ├── chain-svc/ # 链交互服务(封装 ChainMaker SDK) │ └── hash-api/ # 哈希SDK 的 HTTP API ├── internal/ # 内部包 │ ├── hash/ # 哈希核心(SHA-256 / Merkle / 感知哈希) │ ├── chain/ # 链客户端抽象(MVP 含 mock 实现) │ ├── config/ # 配置加载 │ ├── httpx/ # 通用 HTTP / 鉴权中间件 │ └── model/ # 领域模型 ├── contracts/ # ChainMaker Go 合约源码 │ └── tcs_registry/ ├── deploy/ # 部署 │ ├── docker-compose.yml │ └── migrations/ # 数据库迁移 ├── web-console/ # 监管大屏(React) ├── Makefile └── go.mod ``` ## 快速开始 > 本地直接使用已安装的 PostgreSQL / Redis,无需 Docker。 ```bash # 初始化数据库(数据库 tcs_iptv 需已创建) make migrate # 检查依赖 make db-check # 列出已建表 make redis-check # 应返回 PONG # 构建全部服务 make build # 运行测试 make test # 启动哈希 API(示例) make run-hash ``` 环境变量(可选,缺省适配本地): | 变量 | 默认值 | |------|--------| | TCS_POSTGRES_DSN | postgres://postgres@localhost:5432/tcs_iptv?sslmode=disable | | TCS_REDIS_ADDR | localhost:6379 | | TCS_API_ADDR | :8080 | | TCS_CHAIN_ADDR | :8081 | | TCS_HASH_ADDR | :8082 | ## 服务端口(默认) | 服务 | 端口 | |------|------| | api-svc | 8080 | | chain-svc | 8081 | | hash-api | 8082 | | PostgreSQL | 5432 | | Redis | 6379 |