基于区块链的供应链金融开源软件分析

大兔子大兔子 提交于 2020-08-15 04:53:52

基于区块链的供应链金融开源软件分析

一、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.图片展示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述





易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!