- 该系统为作者参加2018阿里云全球区块链大赛复赛作品,参赛队伍名称:901d。未经作者允许不能用作任何商业用途以及转载传播,且此文档的版权归属901d所有。
- 底层平台使用的是Hyperledger Fabric,一个Linux基金会的开源项目,你可以通过链接进行一定了解。
- 该系统后端使用nodejs,框架参考了IBM的开源项目Marbles,该项目也意在帮助开发者了解fabric的链码与应用开发。
- 该系统的链码参考了ChainNova的开项目trainingProjects
- 在线测试,地址(非常抱歉服务器已经到期了)
该Demo使用可以与Hyperledger Fabric v1.2x v1.1x兼容,其他版本未经测试。
该Demo意在帮助票据流转过程中,简化票据操作流程,并且对每一步票据操作记入Fabric区块链账本中,使交易流程伴随票据可查询、可追溯,不可篡改;并且每一笔操作都会记录时间戳,帮助票据交易在联盟范围更透明、更高效。该Demo实现了票据发布,以及票据发布后的票据背书,以及票据被背书人的签收票据和拒绝票据。
- 票据号码 票据的唯一ID,在整个系统中不可重复,该ID为19位数字,不足19位会前置'0'补足。
- 票据金额 票据的面额
- 票据类型 票据的类別
- 票据出票日期 票据的出票日期,格式:YYYY-MM-DD
- 票据到期日期 票据的到期日期,格式:YYYY-MM-DD
- 出票人名称 出票人的名称
- 出票人的证件号 出票人的唯一标识,该Demo中该证件号前置'CIM'+15位数字,15位数字暂由出票人名称计算,其后的承兑人证件号,收款人证件号,持票人证件号相同处理。
- 承兑人名称 承兑人的名称
- 承兑人证件号 承兑人的唯一标识
- 收款人名称 收款人的名称
- 收款人证件号 收款人的唯一标识
- 持票人名称 持票人的名称
- 持票人证件号 持票人的唯一标识
如果你想本地搭建区块链票据,并且过去未运行过Fabric网络请从第0步开始,如果你过去已经搭建过了Fabric网络请从第1步开始
本网络的系统环境:Ubuntu 16.04
Fabric提供了本地docker环境的多节点部署,为app开发提供有力和方便的开发环境。
关于Fabric例程安装,请移步
完成本地Fabric环境搭建以后,我们需要创建一个Fabric网络,创建fabcar网络。
完成了网络的部署工作,现在我们要部署区块链票据,首先安装和实例化链码。
完成了链码的安装和实例化,现在我们将要启动区块链票据系统,来完成我们整个环境搭建任务
完成0-3步的环境部署与安装,现在你可以正式进入区块链票据系统,探索一番