项目名称:PlatON服务平台(PlaaS,PlatON as a Service)
项目简介
PlaaS是专门用于PlatON的区块链即服务平台,提供友好的图形化区块链运维管理界面,包括节点管理、密钥管理、网络监控(包括账户、区块、合约、节点的监控以及更深层次的跟踪)和区块链浏览器(亦可嵌入已有的区块链浏览器),支持管理员用户与普通用户的账户身份。
我们认为PlatON是隐私计算网络与分布式经济体基础设施的典型代表,随着数据隐私的重视程度越来越高,隐私计算与安全验证成为了区块链中必不可少的一部分。同时,PlatON作为提供基础设施的平台,将积累海量的用户与节点。对于这些用户和节点而言,实现便捷且安全的PlatON管理和运维并不是一件低成本的工作,而PlaaS可以轻松胜任这样的角色。团队成员曾对市面上数十种BaaS平台进行深入调研,并自主研发了Hyperledger Fabric的BaaS平台,具备高效性与高可用性,团队成员具有丰富的研究与开发经验。
总体而言,PlaaS能够帮助用户或企业快速搭建稳定、安全的区块链环境,大大减少用户在PlatON部署、运维、管理和应用开发上遇到的挑战,从而能够吸引更多的用户参与到PlatON网络中。
详细说明
项目整体架构
核心模块介绍
-
底层基础设施:使用Kubernetes集群技术提供区块链底层资源调度能力。Kubernetes在存储、网络和计算等方面能提供强大的运维管理能力,同时满足隔离性与安全性;
-
数据管理层:为了保持PlaaS平台的高效性与鲁棒性,系统在数据管理层采用MySQL数据库作为关联状态数据库,使用ElasticSearch作为文本搜索数据库,使用Redis进行数据缓存,使用消息队列来消除并发访问高峰等;
-
PlaaS基础服务层:使用SpringBoot框架进行开发,实现便捷、灵活的用户调用,提供安全、高效的Restful API接口;
-
PlaaS平台服务层:使用React + AntDesign框架实现可视化,提供用户友好的交互界面。
项目优势
这是首个PlatON一站式部署运维平台,采用了高效、可伸缩的技术框架,能实现高吞吐、低延迟的数据同步和查询。
项目GitHub仓库
团队介绍
团队名称:GH Group
团队成员
团队成员名字 | LinkedIn资料 |
---|---|
Raft L | https://www.linkedin.com/in/raft-l-5a3561199 |
Guohao Zhou | https://www.linkedin.com/in/国浩-周-b92b2220b/ |
联系方式
-
联系人:Guanghong Lu
-
联系方式:lugh60@gmail.com
团队背景及经验
团队中两名成员均为清华大学软件学院的研究生,有3~4年的区块链研发经验:
-
2019年获得全国大学生区块链大赛一等奖。
-
团队成员基于Hyperleger Fabric研发了BaaS平台与区块链浏览器,并应用在多项区块链应用中,包括电子票据、电子发票、医疗数据、诚信评价、电力交易等;
-
团队成员实现了Hyperleger Fabric的同构链跨链系统和与以太坊之间的异构链跨链系统;
-
团队成员完成了Hyperleger Fabric的国密化改造。
(上述项目代码均签订协议保密)
项目规划
概述
-
预计总工时:5个月
-
全职人员数量:1
-
总费用:20000ATP
里程碑1——节点模块
-
预计总工时:1个月
-
全职人员数量:1
-
总费用:4000ATP
交付物编号 | 交付物 | 说明 |
---|---|---|
0a. | 开源协议 | Apache 2.0 / MIT / Unlicense |
0b. | 说明文档 | 我们将提供代码的说明文档和基础教程,该基础教程将说明用户如何使用我们的产品 |
0c. | 测试文档 | 为确保功能完整和系统的健壮,我们将提供一个对该代码的测试覆盖率,并说明如何运行这些测试用例 |
1. | 模块1:Kubernetes基础设施 | Kubernetes区块链网络基础设施搭建 |
2. | 模块2:节点相关后端SDK | 使用和补充节点相关的后端SDK |
3. | 模块3:节点模块前后端基础功能——节点与网络创建 | 实现节点创建,网络加入 |
4. | 模块4:节点模块前后端基础功能——节点状态 | 实现节点状态的监控、节点信息的可视化查询 |
5. | 模块5:节点模块前后端基础功能——节点管理 | 成为验证节点相关节点操作 |
里程碑2——区块链浏览器
-
预计总工时:1个月
-
全职人员数量:1
-
总费用:4000ATP
交付物编号 | 交付物 | 说明 |
---|---|---|
0a. | 开源协议 | Apache 2.0 / MIT / Unlicense |
0b. | 说明文档 | 我们将提供代码的说明文档和基础教程,该基础教程将说明用户如何使用我们的产品 |
0c. | 测试文档 | 为确保功能完整和系统的健壮,我们将提供一个对该代码的测试覆盖率,并说明如何运行这些测试用例 |
1. | 模块1:状态数据库 | 初始化状态数据库数据表,实现区块数据同步,满足动态的增删改查 |
2. | 模块2:区块链浏览器相关后端SDK | 使用和补充区块链浏览器相关的后端SDK |
3. | 模块3:区块链浏览器前后端基础功能——基础概览 | 展示当前链信息、查询功能和交易监控 |
4. | 模块4:区块链浏览器前后端基础功能——节点概览 | 展示节点列表、详细信息和委托历史 |
5. | 模块5:区块链浏览器前后端基础功能——合约概览 | 展示合约信息和合约状态 |
里程碑3——账户模块与交易模块
-
预计总工时:1个月
-
全职人员数量:1
-
总费用:4000ATP
交付物编号 | 交付物 | 说明 |
---|---|---|
0a. | 开源协议 | Apache 2.0 / MIT / Unlicense |
0b. | 说明文档 | 我们将提供代码的说明文档和基础教程,该基础教程将说明用户如何使用我们的产品 |
0c. | 测试文档 | 为确保功能完整和系统的健壮,我们将提供一个对该代码的测试覆盖率,并说明如何运行这些测试用例 |
1. | 模块1:账户模块相关后端SDK | 使用和补充账户模块相关的后端SDK |
2. | 模块2:交易模块相关后端SDK | 使用和补充交易模块相关的后端SDK |
3. | 模块3:账户模块前后端基础功能——账户信息 | 展示账户的详细信息 |
4. | 模块4:账户模块前后端基础功能——钱包信息 | 展示钱包的详细信息 |
5. | 模块5:账户模块前后端基础功能——锁定/解锁 | 提供账户的锁定/解锁功能 |
6. | 模块6:账户模块前后端基础功能——账户管理 | 对帐户的相关功能进行管理 |
7. | 模块7:交易模块前后端基础功能——钱包管理 | 对钱包进行相应的管理 |
8. | 模块8:交易模块前后端基础功能——交易操作 | 实现交易转账功能 |
9. | 模块9:交易模块前后端基础功能——提案操作 | 实现提案相关功能 |
10. | 模块10:交易模块前后端基础功能——高级选项 | 实现质押、解质押和锁仓相关功能 |
里程碑4——合约模块与日志模块
-
预计总工时:1个月
-
全职人员数量:1
-
总费用:4000ATP
交付物编号 | 交付物 | 说明 |
---|---|---|
0a. | 开源协议 | Apache 2.0 / MIT / Unlicense |
0b. | 说明文档 | 我们将提供代码的说明文档和基础教程,该基础教程将说明用户如何使用我们的产品 |
0c. | 测试文档 | 为确保功能完整和系统的健壮,我们将提供一个对该代码的测试覆盖率,并说明如何运行这些测试用例 |
1. | 模块1:合约模块相关后端SDK | 使用和补充合约模块相关的后端SDK |
2. | 模块2:日志模块相关后端SDK | 使用和补充日志模块相关的后端SDK |
3. | 模块3:合约模块前后端基础功能——合约查询 | 查询合约的详细内容 |
4. | 模块4:合约模块前后端基础功能——合约管理 | 合约的调用与状态管理 |
5. | 模块5:合约模块前后端基础功能——合约部署 | 合约的编译与部署 |
6. | 模块6:合约模块前后端基础功能——合约状态 | 合约当前状态的查询 |
7. | 模块7:日志模块前后端基础功能——日志浏览 | 浏览节点的日志 |
8. | 模块8:日志模块前后端基础功能——日志查询 | 提供节点日志搜索功能 |
9. | 模块9:日志模块前后端基础功能——日志下载与到处 | 提供日志的下载导出功能 |
里程碑5——系统性能优化与维护
-
预计总工时:1个月
-
全职人员数量:1
-
总费用:4000ATP
交付物编号 | 交付物 | 说明 |
---|---|---|
0a. | 开源协议 | Apache 2.0 / MIT / Unlicense |
0b. | 说明文档 | 我们将提供代码的说明文档和基础教程,该基础教程将说明用户如何使用我们的产品 |
0c. | 测试文档 | 为确保功能完整和系统的健壮,我们将提供一个对该代码的测试覆盖率,并说明如何运行这些测试用例 |
1. | 模块1:缓存模块 | 对于高访问量的相关数据使用缓存来加速访问 |
2. | 模块2:消息队列模块 | 对于高峰期的交易时间段使用消息队列来进行优化 |
3. | 模块3:文本存储搜索模块 | 使用ElasticSearch来优化存储并加速文本搜索 |
未来计划
团队的未来计划主要分为如下几点:
-
继续优化网站UI设计,丰富网站的图表展示,提高用户的交互体验;
-
提升PlaaS的运行稳定性,完善各个模块的功能,提升整体效率;
-
实现系统在大规模的集群中的可伸缩性与高可用性。
其他信息
团队成员还参与了Platon教育相关的Grant项目