Proof of Existence
- 添加了
vendor目录,以后的修改需要在本地执行make test通过后提交pr,有需要引用其它第三方包的需要通过govendor命令进行添加或者版本的更新。 - 添加了
make image命令,构建运行时的镜像. 使用:
docker run --rm --name poe \
-e POE_CACHE_KAFKA_BROKERS="192.168.5.101:9092 192.168.5.102:9092 192.168.5.103:9092" \
-e POE_PERSIST_CASSANDRA_CLUSTERS="u2.mj u3.mj u4.mj" \
conseweb/poe:(本地git branch)
- 使用
make test进行单元测试
注:本地测试通过后再提交pr
新增一个需要证明存在性的文档
无
无
- proofWaitPeriod: 期待文件证明完成所需要的时间,期待时间越短,相对应的API请求次数越少,或者请求代价越高。可选参数有 1m、10m、30m、1h、3h、12h、24h
- rawDocument: 需要被证明的文件原始内容(字符串类型),当然如果不想传输机密文件内容,可先对数据进行加密混淆,相对应的在验证文件是否存在的时候也需要加密混淆
- metadata: 文件描述信息,可为空
201 400 500
- documentId: 文件对应ID,此ID仅用于平台在证明过程中查询文件的证明状态,不可作为文件存在的凭证
- perdictProofTime: 预计文件能被证明的UTC时间戳
查询文件存在性证明过程
- id: 上一个API返回的参数,标识在存在性证明过程中的一个文件
无
无
200 404
- status: 文件证明状态
- none: 没有该ID的存在证明记录,此时不意味着之前的新增无效,可能间隔时间太短,系统还未处理
- wait: 系统已经在处理文件证明了,只是还没有处理完成
- ok: 文件已经进行了存在性证明
- documentId: 输入的路径参数,直接返回
- documentBlockDigest: 文件证明所返回的摘要信息
- perdictProofTime: 如果状态是等待中,则显示预计的证明时间
- proofTime: 如果状态是已证明,则显示证明时间
验证文件的存在性
无
无
- rawDocument: 需要被证明的文件原始内容(字符串类型),当然如果不想传输机密文件内容,可先对数据进行加密混淆,相对应的在验证文件是否存在的时候也需要加密混淆
200 404
- status: 验证结果
- invalid: 未被证明
- wait: 等待被证明
- valid: 已被证明
- none: 无此结果
- doc: document对象
- id: doc唯一标识
- blockDigest: 块文件索引值
- submitTime: 请求提交时间
- proofTime: 证明时间
- hash: 文件hash
- waitDuration: 证明等待时间
- metadata: 文件描述信息
- txid: 区块链交易ID
- sign: 证书签名
- perdictProofTime: 当状态为等待被证明时,预计被证明的时间(UTC 时间戳)
获取最近n条文件
无
- count: 需要查询的个数
- type: 查询的类型, register(已注册未证明)、proof(已证明)
无
200 400 500
- docs: 查询的文件列表
获取统计信息
无
- startTime: 开始时间戳,精确到毫秒,默认0
- endTime: 结束时间戳,精确到毫秒,默认0
200 400
参考protos.ProofStat
获取一般统计信息
无
无
200
- totalStat: 全部时间段统计
- todayStat: 今日统计
- weekStat: 本周统计
- monthStat: 本月统计
对外接口
文件存在性证明,连接hyperledger fabric chaincode
缓存api请求
从cache获取documents进行持久化