内容上传
内容上传开始前,其过程包含2个必要操作步骤。您可以访问以下链接直接通过相应指导了解操作过程。
必要操作步骤:
- 至少选择2个播种者( 如何找到播种者)。
- 运行星际文件系统(IPFS)服务器(设置IPFS系统服务器)。
上传内容请使用 submit_content_async 方法。在提供的事例当中,我们使用的是以下2个播种者: 1.2.17 和 1.2.18 。
方法介绍:
submit_content_async - 此项功能用于创建、上传内容包并提交内容,这些操作在一步完成。
void submit_content_async (string author,
vector<pair<string, uint32_t>> co_authors,
string content_dir,
string samples_dir,
string protocol,
vector<regional_price_info> price_amounts,
vector<account_id_type> seeders,
fc::time_point_sec expiration,
string synopsis);
参数:
- author - 内容创建者
- co_authors - 与基于基点所分摊的付费相匹配的联合作者账户名称或ID
- content_dir - 包含所有待打包内容目录的路径
- amples_dir - 包含内容样本目录的路径
- protocol - 上传内容包协议(星际文件系统)
- price_amounts - 每一区域的内容价值
- seeders - 发布内容的播种者列表
- expiration - 内容过期的时效。内容在过期时效前允许购买
- synopsis - 内容的详细说明
举例说明:
submit_content_async accountname [] "/path/to/file/testfile.txt" "" "ipfs" \
[{"region":"AE","amount":"1","asset_symbol":"DCT"}] ["1.2.17","1.2.18"] \
"2017-11-17T23:59:59" "{\"content_type_id\":\"0\",\"title\":\"greatTestFile\", \
\"description\":\"some description.. \"}"
其中:根据列表, content_type_id 是指定目标网络和内容类型的数字。
- ContentObjectApplication 数值列表
• 0 - DCore - ContentObjectType 数值列表
• 0 - 无
• 1 - 音乐
• 2 - 电影
• 3 - 书籍
• 4 - 有声读物
• 5 - 软件
• 6 - 游戏
• 7 - 图片
• 8 - 文档
举例说明,”0.5”代表 DCore 网络和指定的 Software 软件类型。
结果:
submit_content_async accountname [] "/path/to/file/testfile.txt" "" "ipfs" \
[{"region":"AE","amount":"1","asset_symbol":"DCT"}] ["1.2.18","1.2.17"] \
"2017-11-17T23:59:59" "{\"content_type_id\":\"0\",\"title\":\"greatTestFile\", \
\"description\":\"some description.. \"}"
null
寻找播种者
这是上传过程中的必要步骤之一。如果不指定准备上传内容的播种者,内容上传进程就无法进行。从以下文本中选择您中意的方法查看能够播种的人选( 通过价格 、 区域 、 上传信息 、 等级 )。请根据本文档所提供的指南进行操作。
说明
请注意,所有的方法回应指令的结构都是相同的。因此我们只为您提供第一种方法 list_seeders_by_price(通过价格选择播种者列表) 的回应指令。
通过价格选取播种者
方法介绍:
list_seeders_by_price - 通过价格选出播种者列表,列表序号由低到高
vector<seeder_object> list_seeders_by_price(uint32_t count);
参数:
- count - 返回的播种者最大数值
返回值:
- 筛选出的播种者列表
举例说明:
list_seeders_by_price 5
回应:
[{
"id": "2.14.1",
"seeder": "1.2.16",
"free_space": 874,
"price": {
"amount": 1,
"asset_id": "1.3.0"
},
"expiration": "2017-11-14T12:42:25",
"pubKey": {
"s": "108509137992084552766842257584642929445130808368600055288928130756106214148863141200188299504000640159872636359336882924163527129138321742300857400054934."
},
"ipfs_ID": "Qma7mvd4A9nDfuEyw65Y5Toik2BZmDcM35xFq1SeuQns7n",
"stats": "2.16.1",
"rating": 0,
"region_code": ""
},{
"id": "2.14.2",
"seeder": "1.2.17",
"free_space": 854,
"price": {
"amount": 1,
"asset_id": "1.3.0"
},
"expiration": "2017-11-14T12:48:15",
"pubKey": {
"s": "8490319717792401336022711903211688203776011372958543603431635388400597658916629399144065413122027733188246528373794568719741969521921155180202961044843254."
},
"ipfs_ID": "QmUc1fB7vYuZLxUvEJPb6w2z5apKRgmKqWjCm7A8yG9u81",
"stats": "2.16.2",
"rating": 22,
"region_code": ""
},{
"id": "2.14.3",
"seeder": "1.2.18",
"free_space": 991,
"price": {
"amount": 1,
"asset_id": "1.3.0"
},
"expiration": "2017-11-14T12:52:20",
"pubKey": {
"s": "2303777410538172886271756794595982408449215299184180786707946414344825115577210309329094182704710373375176575047946743652593825273038473592524248046488588."
},
"ipfs_ID": "QmTWG4AtyXxLPtZ6iahoaT8HBA2cDSSeAvkbrzNVT8KS4p",
"stats": "2.16.3",
"rating": 594,
"region_code": "SK"
}
]
通过区域选取播种者
方法介绍:
list_seeders_by_region - 通过区域选择的播种者列表。区域代码都通过国际标准化3166-1 alpha-2标准申报。
vector<seeder_object> list_seeders_by_region(string region_code);
参数:
- region_code - 播种者所在区域的代码
返回值:
- 被选出的播种者列表
举例说明:
list_seeders_by_region "SK"
通过评分选取播种者
方法介绍:
list_seeders_by_rating - 通过评分获得播种者列表,列表序号由高到低
optional<vector<seeder_object>> list_seeders_by_upload(uint32_t count);
参数:
- count - 返回的播种者最大数值
返回值:
- 选取的播种者列表
举例说明:
list_seeders_by_upload 5