基于区块链的供应链金融开源软件分析
一、SupplyChainFinancialPlatform
1.版权所属:王明业
2.软件类型:iOSApp
3.软件架构:
- 分层模式:UI层+应用层+数据层
4.前端设计:UI+Flask
- 大量代码用于实现UI界面,以Flask为框架实现简单的前端
5.后端设计:Python
- 实现Loan合约调用的封装,运行服务端,接受外部请求并返回JSON数据
6.链端设计:FISCO BCOS v2.1.0
- 基于腾讯微众银行开源的FISCO BCOS区块链平台,在Loan.sol合约中实现完整供应链金融平台逻辑
7.用户功能
- 合约初始化:根据传入的仲裁机构名称,才合约中创建一个仲裁机构实例,并将其中储存的用户地址设为创建本合约的用户地址。
- 添加公司:
由仲裁机构完成,申请加入的公司需要仲裁机构通过并添加 - 添加银行:方法同上
- 银行向受信公司授权信用资产
- 公司
A 向公司 B 转移 信用资产 - 银行
给予公司真实资金 - 受信公司向银行还款
- 受信公司向银行确认完成
本次事务 - 查询链上信息
8.分析评价
-
框架结构不够清晰,尤其是应用层,直接穿插于其他两层实现。
-
前端实现过于简单,UI界面也过于简陋。
-
后端调用合约的过程封装起来,运行服务端,将数据储存起来
-
链段几乎直接使用腾讯微众银行开源的FISCO BCOS区块链平台,框架过大,不得不将应用层的很多东西填充进来实现,导致软件结构不够清晰。
-
有仲裁机构却没有智能合约,并没有很好地解决信任问题
9.图片展示
二、SupplyChainApp
1.版权所属:郭章旭
2.软件类型:Windows桌面软件
3.软件架构:MVC模式
4.前端设计:truffle框架搭建
5.后端设计:Java
- 连接链端与前端,实现数据处理等功能
6.链端设计:solidity
- 使用solidity编写合约并将合约部署到链上。使用微众银行的Webase进行部署并测试合约。
7.用户功能
- 更改公司
- 创建应收账款
- 拆分应收账款
- 融资
- 结算
8.分析评价
-
基本独立实现,结构较为清晰,各部分任务量分配合理
-
界面使用truffle框架搭建的,比较简陋,但是实现了自己的网页端,比上一个前端实现充分
-
智能合约、链的部署等由自己独立完成,缺少很多用户功能,如仲裁机构,链上信息查询等
9.图片展示
三、区块链供应链平台
1.版权所属:郭泽荣、王傲黎、徐梽洲、谢时焘
2.软件类型:Windows桌面软件
3.软件架构:
-
Spring boot架构
-
这种架构将传统的模型层被拆分为了业务层(Service)和数据访问层(DAO, Data Access Object)。 在 Service 下可以通过 Spring 的声明式事务操作数据访问层,而在业务层上还允许我们访问 NoSQL ,这样就能够满足异军突起的 NoSQL 的使用了,它可以大大提高互联网系统的性能。
4.系统物理架构 (物理设备架构图:软件如果部署到物理设备上)
5.前端开发:vue.js
6.后端开发:Java(Spring Boot)
7.合约端开发:Solidity, FISCO-BCOS
- 基于FISCO-BCOS联盟链
8.用户功能
-
子系统 功能 子功能 企业 1合同管理 签署合同、查询合同、更新合同状态、签署运输合同 2库存管理 入库、查询入库信息 3物流管理 查询物流 4 Token管理 Token支付、Token兑付申请 6保单管理 签订保单、查询保单、保单状态变更 7贷款管理 申请贷款、贷款查询、还款 银行 1授信管理 授信、查询信用额度 2 Token兑付管理 Token兑付、Token重新发放 3抵押品管理 仓单抵押 4贷款管理 银行放款 保险公司 1保单管理 签订保单、查询保单、保单状态变更 2保险标的管理 增加保险标、查询保险标、删除保险标 运输企业 1运输管理 签订运输合同、查询订单、订单状态变更 2保单管理 签订保单、查询保单、保单状态变更 3 Token管理 token支付、token承兑 系统管理 1用户管理 用户权限管理、用户权限授予 2参与方管理 参与方权限管理
9.分析评价
-
框架结构十分清晰
- 结构松散,几乎可以在 Spring MVC 中使用各类视图。
- 松耦合,各个模块分离。
- 与 Spring 无缝集成
-
前端设计十分全面,UI设计很美观
-
后端功能十分强大,数据管理很稳定
-
合约端基于FISCO BCOS区块链开发,各部分分工合理
-
功能全面,对于各部分用户的功能都考虑得非常周到
10.图片展示
三、“北航高利贷”
1.版权所属:王宇轩等北航同学
2.软件类型:Web软件
3.软件架构:
- 核心框架:Spring Framework 4.3.0 + Dubbo 2.5.3 或者 SpringBoot 1.5.1
- 安全框架:Apache Shiro 1.2
5.前端开发:
- 前端框架:Angular JS + Bootstrap + Jquery
- 消息队列: RabbitMQ
6.后端开发:
- 任务调度:Spring + Quartz
- 持久层框架:MyBatis 3.4 + MyBatis-Plus 2.0
- 数据库连接池:Alibaba Druid 1.0
- 缓存框架:Redis
- 会话管理:Spring-Session 1.3.0
- 日志管理:SLF4J、Log4j2
7.链端开发:Hyperledger Fabric
8.用户功能
-
账户及工作流管理系统
序号 功能模块 功能说明 1 企业账户基本操作 个人用户的账户创建、更新及删除 2 企业账户密码的设置与修改 账户密码修改 3 企业账户信息查询 查询账户基本信息及状态 4 账户余额查询 查询用户主子账户的各类余额信息(可用,冻结) 5 充值 将账户绑定的银行账户中收取资金款项 6 提现 将账户的可提现余额代付至该账户绑定的银行账户中。和代付区别:提现是用户自主发起。 7 工作流创建 标准工作流创建 8 工作流修改、删除 工作流修改、删除等操作 -
供应商管理系统
序号 功能模块 功能说明 1 注册 账号信息(用户名、密码)、公司信息、联系人信息 2 登录 4 实名认证 企业实名资料填写 5 授信申请 授信额度是企业申请贷款后最终审批的额度 6 融资申请 应收账款类业务,向资金方提交融资申请,资金方可通过后台系统来对企业进行审批。 7 提现 立即转出是提现功能,可以将资金转出至其他银行账户 8 交易查询 企业的所有交易、转入、转出的记录都可以在此查询。 -
核心企业与资金方管理系统
序号 功能模块 功能说明 1 确权 确认供应商与自己贸易真实性 2 融资申请确认 供应商融资申请确认 3 回款 核心企业回应付账款 4 融资审批 5 授信审批 6 放款 应收账款审批之后进行放款 -
管理后台
序号 功能模块 功能说明 1 应收账款管理 可查询企业申请应收账款业务的具体情况 2 客户管理 对所有贷款申请通过的授信企业、核心企业的企业信息进行管理 3 风控管理 平台运营者可对部门额度、准入规则、评级信息进行配置和编辑 4 产品管理 基于业务添加和编辑产品 5 审批流管理 审批流程中的节点进行编辑,可配置是否人工审批或自动通过。 6 合同管理 授信申请签署后合同管理
9.分析评价
-
框架结构十分清晰,多组人共同协作完成,工作井井有条。
-
前端设计非常灵活美观,给用户一种很舒服的感觉
-
后端使用SQL数据库,数据管理很稳定
-
功能十分强大,完全可做商业用途,完美地将区块链融合进来,给用户很好的体验。
10.图片展示