599ccfe1c8
- internal/chain/persistent.go: PersistentChain 装饰 MemoryChain - 复用 MemoryChain 全部业务规则(权限/1:1绑定/防换壳),读走内存 - 写路径在内存变更成功后写穿 PG 镜像表(content_registry/hash_binding/identity_mapping/version_history/chain_tx) - 启动从 PG 水合恢复内存状态,重启不丢数据;PG 为非权威镜像,写穿失败仅记日志 - deploy/migrations/0004_binding_revoked.sql: hash_binding 增加 revoked/revoked_reason 列(集级下架镜像) - cmd/api-svc/main.go: 共享一个 *sql.DB,PG 可用时启用 PersistentChain+PostgresStore,否则回退内存 - 验证: seed_demo 后内容/映射/哈希落库;重启水合3条内容,resolve/mappings 正常恢复 - 面向未来: 接真实 ChainMaker 时整体替换 chain.Client,业务层零改动