系统设计¶
一、客户需求¶
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