存证典型示例
本节通过对几种典型的存证应用场景提供示例,说明络谱存证功能如何使用。
以下示例中,对存证关键字段的填写仅供参考,是展示络谱存证功能而设计的案例,并非使用规范。针对每个实际业务,合作方最了解业务需求,需自己思考如何存证。具体的接口调用开发指南,请参考API章节。
文件存证
业务背景:
合作方 A 是一家银行,直销银行业务中与用户通过在线签约方式签署协议,协议托管在银行后台。导致用户查看协议时对协议本身的真伪无法判断。
基于络谱的解决方案:
利用区块链建立不可篡改的数字化证明,银行将签署完毕的协议的摘要信息登记到平台上。用户在查看协议时,可通过直销银行平台查询到该协议信息并与区块链上的信息进行比对确认协议真实性。
存证示例:
存证关键字段 | 填写示例 |
---|---|
存证信息(recordData) | 对协议文件计算摘要,推荐使用 SHA-256 算法 |
自定义信息(customString) | {"type":"file","fileId":"201802030198","URL":"http://server/contract/2018/0198.pdf", "algorithm":"SHA256"} |
其中,存证信息字段对需要存证的内容计算摘要,本示例中是协议文件。而协议文件原文不需要存证到区块链上,既保护了用户隐私,又防止区块链数据量过大。
自定义信息中各字段,type
表示该笔存证类型为文件存证,fileId
为业务内对文件ID的表示,URL
为文件原文的存放路径,algorithm
表示存证信息计算使用的摘要算法。这些信息有助于用户把从业务平台拿到的文件与区块链上存证信息进行比对验证。
溯源
业务背景:
合作方 B 是一家溯源解决方案软件服务商,B 正在做一套大闸蟹的溯源方案,大闸蟹从产地 C 捕捞后,通过物流 D 进行运输,最后进入连锁门店 E 销售,为了实现大闸蟹流转信息透明流畅,B 基于络谱开发一套溯源平台,将供应商 C、D 和 E 的信息做溯源存证。
基于络谱的解决方案:
食品溯源企业 B 提供了一套解决方案,将供应商 C、D 和 E 的食品身份认证和流转记录保存在溯源平台本地服务器,并将每一步食品流转记录数据摘要上传至络谱平台,对溯源记录进行前后关联。
存证示例:
存证流水号作为大闸蟹的编号,通过存证流水号可以修改存证记录,记录一只大闸蟹每一次的溯源信息,最终通过存证流水号串联起来。
1.捕捞
接口:写入存证记录,捕捞的供应商C对信息签名上链
存证关键字段 | 填写示例 |
---|---|
存证流水号(seqId) | 大闸蟹0001 |
存证信息(recordData) | 对存证信息计算摘要,推荐使用 SHA-256 算法 |
自定义信息(customString) | {"type":"food","traceType":"new","place":"Ningbo","algorithm":"SHA256"} |
2.运输
接口:修改存证记录,物流的供应商D对信息签名上链
存证关键字段 | 填写示例 |
---|---|
存证流水号(seqId) | 大闸蟹0001 |
存证信息(recordData) | 对存证信息计算摘要,推荐使用 SHA-256 算法 |
自定义信息(customString) | {"type":"food","traceType":"transport","placeFrom":"Ningbo","placeTo":"Hangzhou", "algorithm":"SHA256"} |
3.销售
接口:修改存证记录,销售的供应商E对信息签名上链
存证关键字段 | 填写示例 |
---|---|
存证流水号(seqId) | 大闸蟹0001 |
存证信息(recordData) | 对存证信息计算摘要,推荐使用 SHA-256 算法 |
自定义信息(customString) | {"type":"food","traceType":"sale","place":"Hangzhou","shop":"Lianhua03", "algorithm":"SHA256"} |
示例中,自定义信息中各字段为对该笔业务相关信息的描述,如:type
表示该笔存证类型为食品溯源,traceType 表示该笔存证对应的溯源业务,place
表示溯源信息发生地点,shop
表示销售店铺,等等。合作方可将描述业务且不敏感的信息写入自定义信息中。