系统设计

一、客户需求

1、区块链底层基础合约,启动预研和开发 1)搭建以太坊联盟链,搭建以太坊solidity合约开发环境 2)资产合约(一个账户一个中央对手方,中央对手方可以动用账户余额,支持挂失、销毁场景),账户企业基本信息合约可以先启动demo版本开发 3)应用合约(线上商品提货合约、数据分享合约)视具体场景需求,进行设计。 4)dapp层webservice接口,基本的合约调用接口启动开发

2、业务部分设计 1)应用层(旧系统接口改造——商城,新系统运营管理系统——清算系统,token充值提现,订单清算,启动需求调研和设计) 2)旧数据迁移至区块链

二、区块链底层设计

Go-ethereum/FISCO-BCOS都支持solidity语言,其中FISCO更偏联盟链和金融科技方面,可以作为技术选型使用,FISCO和Go-ethereum一样有IDE支持。另外,FISCO交易速度快,适合链下交易。

三、合约层设计

发行资产/销毁资产/增发资产合约

使用标准ERC20合约进行修改:

https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol

结算合约

在进行清算的时候使用结算合约对资产进行再分配 (3个参数)

CRUD合约 –log

用户每一笔交易组成CRUD格式存储在区块链上

四、应用层设计

注册认证

使用标准JWT格式对用户进行鉴权,判断用户角色(企业/工会/员工/商家)

资产发行/销毁/增发

角色:系统管理员

记录交易

角色:系统

清算/结算

角色:系统管理员

五、总体架构:

https://drive.google.com/file/d/1LidhyZ0t9cI217ybUrKY-klex8goUFC-/view?usp=sharing