DREP-exchange-backend-structure
2016-11-20 11:15:50 0 举报
DREP-exchange-backend-structure是一个用于构建分布式能源交易平台的后端结构。它基于区块链技术,实现了能源交易的安全、透明和高效。该结构包括了能源供应商、消费者、交易平台和智能合约等关键组件,通过这些组件之间的协同工作,实现了能源的实时交易、价格发现和结算等功能。此外,DREP-exchange-backend-structure还具备良好的扩展性和可维护性,能够适应不断变化的市场需求和技术发展。总之,DREP-exchange-backend-structure为构建一个可持续发展的分布式能源市场提供了强大的支持。
作者其他创作
大纲/内容
提供管理系统的功能操作API,通过权限控制功能访问和操作权限:用户管理,资产管理,提币管理,充币管理,权限管理等
小额提币
以太坊节点服务
发起签名
检查是否达到区块确认数
钱包API服务
保存
定期(每1个小时)检查从热钱包把币归集到冷钱包
签名服务
队列服务(RabbitMQ集群)
检查提币订单数据格式
MySQL数据库
实时提醒运行
ElasticSearch
检查交易状态是否成功(tx receipt)
检查未通过
检查热钱包余额是否充足
是否达到阈值
检查通过
用户账户服务
辅助系统
得到Tx Hash
监控用户地址充币交易,提币交易,从用户地址到热钱包归集
业务系统API(APP)
预警系统(Flink&Spark)
生成签名订单并调用签名服务器签名
监控用户操作日志和数据,记录异常数据,提供警示提醒;监控的数据包括:用户账户资产数据,充提币数据,交易转账数据;
使用ELK生产运行使用,方便查找日志
签名交易
管理员
是否通过检查
安全预警服务
发送订单到队列
热钱包归冷服务
提币确认订单队列(RabbitMQ)
检查热钱包余额
申请签名权限
保存订单数据
客户端业务API接口
用户资产,资产历史
提币检查Job
检查用户可用资产是否足够
币安链节点服务
发送交易
签名服务(2个)
热钱包余额检查服务
对外API接口
对账服务
发起提币请求
Elasticsearch、Logstash、Kibana
钱包数据DB
获得权限
钱包公告,反馈,系统配置等数据
组装交易数据
信息服务
提币申请成功
交易检查Job
检查用户KYC
检查提币状态(用户账户和资金记录)
钱包支持的币种数据
得到Raw Transaction
用户账户,交易对账
修改提币记录状态
数据DB
以达到
拒绝提币
查询提币记录
管理系统API服务
查询到报警记录
日志服务(ELK)
Structure Flow
提币申请订单队列(RabbitMQ)
用户资产MySQL数据库
节点(BTC,以太坊等)
获得TxHash
其他节点服务...
手机&邮箱
分析日志
报警提醒
发送交易
钱包服务
获取正在进行的交易
钱包数据库
日志服务(搜集所有业务程序的日志)
拿到提币记录
查询提币状态
查询提币记录链上状态
内部管理系统API接口
节点(BTC,ETH等)
保存热钱包数据,冷钱包数据,签名记录
可以创建多个热钱包,比如2个,热钱包A,热钱包B;热钱包A为小额热钱包,B为大额热钱包;A的触发归集阈值为30个BTC,最少留20个BTC;B的触发归集阈值为50个,最少预留40个;
缓存服务(Redis主从&集群)
用户基本信息,用户地址,用户账户(币币,杠杆等)
管理后台
获取提币订单
钱包业务系统管理端
得到交易Raw Transaction
提供API:获取币种地址,查询交易状态,发送交易,查询交易记录等接口
手机APP端
保存数据
Withdrawal Flow
通知提币状态
定期(每10分钟)检查热钱包余额,同时给予钱包余额不足(比如BTC余额小于10个)的报警(通过邮件提醒)
检查用户账户状态(是否是正常未冻结账户)
组装提币订单数据
币种服务
业务系统API(后台)
签名和归集
如果是大额提币,则需要申请签名权限
充币订单队列,提币订单队列
BTC节点服务
提供每笔交易的离线签名(获得授权)功能,根据交易额,使用不同的热钱包签名;比如:BTC交易,5个作为区分标准,使用不同的钱包签名;
钱包业务系统服务端
离线签名服务(大额)
Flink&Spark
资产服务
修改提币为通过/拒绝
获取正在进行的提币记录
查询热钱包地址
记录业务系统,和链交互端系统,管理系统的所有业务日志,和操作日志
服务器安全:1. 仅开启提供给客户端API的服务器外网80端口可访问权限,其他服务器都需要开启防火墙,并只开放指定IP和端口访问,2. 添加服务器相互访问的SSH访问限制接口规则:1. 接口调用都需要添加参数签名(使用RSA数字签名)技术选型:基础架构组件:Spring Boot (MVC框架) MyBatis(数据库框架)Redis (缓存服务器)MySQL(数据库)RabbitMQ(队列服务)ElasticSearch(保存日志)Spark&Flink(实时计算分析)
DREP backend structure
离线签名服务(小额)
对账服务(每日,每周,每月)
热钱包归集服务
钱包和链交互服务端
0 条评论
下一页