4.7.1 数据托管API概述
针对合作方可能需要存储空间保存与区块链存证数据相关联的文件(如图片、视频等),我们提供数据托管服务,合作方可选择将文件保存在络谱运营方提供的云端存储空间,并在区块链上保存文件摘要和文件信息(如文件下载地址、摘要算法等)。用户拿到文件原文后,可以通过公开算法计算出文件摘要,与链上信息比对。
4.7.1.1 络谱 OSS 云服务基本信息
名称 | 参数 |
---|---|
外网Endpoint | http://oss-cn-hangzhou.aliyuncs.com |
内网Endpoint | http://oss-cn-hangzhou-internal.aliyuncs.com |
Bucket | brop |
当您是通过阿里云环境使用STS临时账号上传下载文件时,建议使用内网Endpoint,速度快。其他环境则使用外网Endpoint。
4.7.1.2 数据托管流程
使用络谱数据托管的流程如下,包含三个步骤:文件存储,计算摘要,文件存证。
4.7.1.3 获取 STS 临时账号接口
接口说明:获取 STS 临时账号信息
请求方式:POST
请求地址:https://auth.brop.cn/sts/stsTokenInfo
是否回调:否
参数列表:
名称 | 类型 | 描述 |
---|---|---|
key | String | 用户控制台创建的 KEY |
接口返回:
名称 | 类型 | 描述 |
---|---|---|
expiration | String | STS 临时帐号到期时间,默认为 1 小时有效 |
accessKeyId | String | 颁发给用户临时访问服务所用的密钥 ID |
accessKeySecret | String | 颁发给用户临时访问服务所用的密钥 |
securityToken | String | 安全令牌 |
请求示例:
{
"key": "1aefb7b439a4480ab307e78b4f52a108"
}
返回示例:
{
"code": "SUCCESS",
"detail": {
"expiration": "Thu Nov 16 15:50:15 CST 2017",
"accessKeyId": "STS.JiZfmPv7RFV2mUqt2XuneopBb",
"accessKeySecret": "GV1RVAJzBT2sVedUwqCrYV2aAshuocxeXiPgG3DpZH2Z",
"securityToken": "CAISjQJ1q6Ft5B2yfSjIq6rvLdfkm+hz8ZTZb3PAkDINeeFJgLXpgDz2IH5JenZvCesdtfk+nWBY7PYZlol9RcdOTkWaN8cs5c9ZoVz4aNfP45DuveRfgpH5FWGdVkZbFx0k96arIunGc9KBNnrm9EYqs5aYGBymW1u6S+7r7bdsctUQWCShcDNCH604DwB+qcgcRxCzXLTXRXyMuGfLC1dysQdRkH527b/FoveR8R3Dllb3uIR3zsbTWsH5N5YwZsghA4zuh7EoKPL7vXQOu0QQxsBfl7dZ/DrLhNaZDmRK7g+OW+iuqYMyclAmNvNhQPMV9aisz60joIrZjYPv0ApWJftSXznUWJAkU3hwhVQXXBqAAYW07xDeogL9gfH1SNlQODw6DsxJRtwmn9k9YhPgJzW5pXOlRwsXhZVtMFdFMPJQuIyKKGMIdzpZux9mG57ny+9Ug8OUdq40yycxLphHgAQ0uteuA3obzxITBo6KBBPBiKl2T0PBSMMGrea9LdaiqXWcqz+Bb0tUqb17axIXhnAf"
}
}
4.7.1.4 上传文件到云服务
使用获取的 STS 临时身份,将文件上传到 OSS 云服务上(STS 临时账号有效时间为 1 小时,超时则拒绝上传文件,需重新获取 STS 临时账号信息)。具体代码实例可参考阿里云的对象存储服务 OSS API 参考文档中的“关于 Object 操作”: https://help.aliyun.com/document_detail/31947.html
络谱平台规定了在 OSS 上上传文件 KEY 的地址规则:
[用户UID]/用户自定义路径/文件名称
其中,为权限管理,[用户 UID]必须为登陆账号在合作方控制台数据托管页面中获取。可使用用户自定义路径管理[用户 UID]下文件目录。
例如: 5ef9b889357f486ea8b09de2f3578f16/music/100000018/test.txt
4.7.1.5 文件存证
文件存证包含2个步骤:
1.计算文件摘要
使用公开的摘要算法对文件计算摘要,推荐使用 SHA256.
2.写入存证信息
通过“写入存证记录”接口写入存证信息。建议按照如下方式写入各字段,便于在验证时加以确认。
- 存证信息:文件摘要
- 自定义信息: JSON 字符串
必须包含以下字段:type=dataHosting
、URL
(文件下载路径);可选择包含其它字段,如:algorithm(摘要算法)。
注:如果不注明 type=dataHosting 以及说明 URL,云存储空间中上传的文件无法找到对应的区块链存证,就会被运营方定期清理出来通知删除处理。
4.7.1.6 获取文件
从 OSS 获取文件的流程和上传文件相似,具体代码实例可参考阿里云的对象存储服务 OSS API 参考文档中的“关于 Object 操作”: https://help.aliyun.com/document_detail/31947.html
络谱平台规定了以下规则:
1.OSS 上存放文件的地址规则:
https://\[Bucket\].oss-cn-hangzhou.aliyuncs.com/\[用户UID\]/用户自定义路径/文件名
例如:
https://brop.oss-cn-hangzhou.aliyuncs.com/5ef9b889357f486ea8b09de2f3578f16/music/100000018/test.txt
2.下载权限
下载文件同样需要 STS 临时账号。使用与上传文件“获取 STS 临时账号”相同的 key 申请 STS 临时账号,有权限下载文件。