# bsin-server-go-any **Repository Path**: s11e-DAO/bsin-server-go-any ## Basic Information - **Project Name**: bsin-server-go-any - **Description**: bsin-paas golang实现的后台服务 1.基于tss-lib的MPC钱包 2.基于openwechat实现的微信 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-11 - **Last Updated**: 2025-12-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # bsin-server-go-any > bsin-paas golang 后端服务,基于 Gin 框架开发,提供微信智能体托管、MPC 钱包和区块链服务。 ## 📋 项目简介 `bsin-server-go-any` 是一个企业级 Go 后端服务,主要功能包括: - 🤖 **微信智能体托管**:基于 [openwechat](https://github.com/eatmoreapple/openwechat) 将个人微信托管至智能体,支持群聊和私聊自动回复 - 🔐 **MPC 钱包服务**:基于 TSS(Threshold Signature Scheme)的多方计算钱包系统,支持分布式密钥生成和签名 - ⛓️ **区块链支持**:支持 Conflux、以太坊等区块链的地址生成、交易签名和广播 - 📡 **RESTful API**:提供完整的 API 接口,支持 Swagger 文档 ## 🚀 快速开始 ### 环境要求 - Go 1.21.6+ - MySQL 5.7+ - Redis 6.0+ - RabbitMQ 3.8+ ### 安装依赖 ```bash # 下载依赖 go mod tidy # 生成 vendor 目录(可选) go mod vendor ``` ### 配置说明 配置文件位于 `conf/` 目录,支持多环境配置: - `conf.ini` - 默认配置 - `conf_local.ini` - 本地开发环境 - `conf_prod.ini` - 生产环境 - `conf_docker.ini` - Docker 环境 ### 运行服务 ```bash # 开发模式运行 go run main.go # 编译后运行 go build -o bsin-server-golang main.go ./bsin-server-golang ``` ### 访问 Swagger 文档 启动服务后,访问:`http://localhost:8125/swagger/index.html` ## 📁 项目结构 ``` . ├── blockchain/ # 区块链相关功能 │ ├── cfx/ # Conflux 链支持 │ └── client/ # 区块链客户端 ├── common/ # 通用错误定义 ├── conf/ # 配置文件 ├── contract/ # 智能合约 ├── db/ # 数据库相关 │ ├── client/ # MPC 客户端数据库 │ └── gateway/ # 网关数据库 ├── demo/ # 示例代码 ├── deploy/ # 部署相关文件 ├── doc/ # 项目文档 ├── middleware/ # 中间件 ├── models/ # 数据模型 ├── mpc_client1-4/ # MPC 客户端服务 ├── mpc_server/ # MPC 服务端 ├── pkg/ # 公共包 │ ├── mpc/ # MPC 相关功能 │ ├── eth/ # 以太坊相关 │ └── ... ├── routers/ # 路由定义 ├── service/ # 业务逻辑层 ├── wechat/ # 微信机器人功能 └── main.go # 入口文件 ``` ## 🔧 核心功能 ### 1. MPC 钱包服务 基于 TSS(阈值签名方案)实现的多方计算钱包,支持: - 分布式密钥生成(DKG) - 阈值签名(Threshold Signature) - 密钥分片管理 - 钱包恢复和重新分片 详细文档请参考:[doc/TSS.md](./doc/TSS.md) ### 2. 微信智能体 将个人微信托管为智能体,支持: - 自动通过好友请求 - 群聊 @ 回复 - 私聊自动回复 - 上下文记忆 详细文档请参考:[doc/wechat/README.md](./doc/wechat/README.md) ### 3. 区块链服务 支持多种区块链操作: - 地址生成 - 交易签名 - 交易广播 - NFT Mint ## 🐳 Docker 部署 ### 使用 Docker Compose ```bash # 启动所有服务(包括 MySQL、Redis、RabbitMQ) docker-compose up -d # 查看服务状态 docker ps # 查看日志 docker-compose logs -f ``` ### 单独构建镜像 ```bash # 构建网关服务 docker build -t bsin-server-golang . # 构建 MPC 客户端 docker build -f mpc_client1/Dockerfile -t bsin-mpc-client1 . ``` 详细部署文档请参考:[doc/deployment/README.md](./doc/deployment/README.md) ## 📚 文档目录 - [API 接口文档](./doc/API.md) - 完整的 API 接口文档 - [部署文档](./doc/deployment/README.md) - 安装、部署和配置说明 - [微信机器人文档](./doc/wechat/README.md) - 微信智能体使用指南 - [TSS 技术文档](./doc/TSS.md) - 阈值签名方案技术详解 - [MPC 技术文档](./doc/tss-lib.md) - MPC 库使用说明 - [加密算法文档](./doc/非对称加密.md) - 加密算法原理说明 - [ECDSA 文档](./doc/ECDSA.md) - ECDSA 签名算法 - [以太坊签名](./doc/以太坊签名过程.md) - 以太坊交易签名流程 ## 🔌 API 接口 详细的 API 接口文档请参考:[API 接口文档](./doc/API.md) ### 主要接口概览 **MPC 钱包接口** - `POST /api/v1/mpc/keygen` - 创建钱包(密钥生成) - `POST /api/v1/mpc/sign/:pubkey` - 签名交易 - `POST /api/v1/mpc/reshare/:pubkey` - 重新分片 - `POST /api/v1/mpc/recover/:pubkey` - 恢复分片 - `GET /api/v1/mpc/wallet/:pubkey` - 获取钱包信息 - `GET /api/v1/mpc/requisition/:requisitionId` - 查询请求状态 **微信接口** - `POST /api/v1/wechat/login` - 微信登录/退出 - `POST /api/v1/wechat/monitor` - 微信机器人监控 **认证接口** - `POST /api/v1/auth` - 获取认证 Token - `POST /api/v1/keypair` - 生成 RSA 密钥对 **其他接口** - `POST /api/v1/image/upload` - 图片上传 - `POST /api/v1/blockchain/nft/mint` - NFT 铸造 完整 API 文档请参考:[API 接口文档](./doc/API.md) 或访问 Swagger:`http://localhost:8125/swagger/index.html` ## 🛠️ 开发指南 ### 生成 Swagger 文档 ```bash # 安装 swag go install github.com/swaggo/swag/cmd/swag@latest # 生成文档 swag init -g main.go ``` ### 代码规范 - 遵循 Go 官方代码规范 - 使用 `gofmt` 格式化代码 - 提交前运行 `go vet` 检查 ### 测试 ```bash # 运行所有测试 go test ./... # 运行特定包的测试 go test ./pkg/mpc/... ``` ## 📝 TODO - [ ] 多签钱包支持 - [ ] 升级 tss-lib 版本 - [ ] 多链支持扩展(Tron、BSC、Polygon 等) - [ ] Reshare/Recover 功能完善 - [ ] 性能优化 - [ ] 分片 AES 加密存储 - [ ] RSA 接口签名 ## 🤝 贡献 欢迎提交 Issue 和 Pull Request。 ## 📄 许可证 Copyright (c) 2024 by CBD Technology CO., Ltd, All Rights Reserved. ## 👥 作者 - leonard - leijiwu (1287279970@qq.com) ## 🔗 相关链接 - [Gin 框架](https://github.com/gin-gonic/gin) - [openwechat](https://github.com/eatmoreapple/openwechat) - [TSS-Lib](https://github.com/bnb-chain/tss-lib) - [Swagger](https://swaggo.github.io/swaggo.io/)