APIP100V1_RawTxBroadcast(zh-CN)
-
APIP100: RawTxBroadcast Version: 1 Language: zh-CN Author: C_armX Status: draft Created date: 2022-04-19 Updata:2022-04-19 PID: "" TXid:
APIP100V1_RawTxBroadcast(zh-CN)
目录
Type: APIP SerialNumber: 2 ProtocolName: BasicInfoOnChain Version: 1 Description : Freecash主链基础信息API规范. Author: C_armX, Write_cash, Free_cash, F7rspPvuPhrc6xYYXjBoCieKAWSz9ShSNp Language: zh-CN PrePID:""
关于APIP
概述
APIP
(Application Programming Interface Protocols)是自由共识生态协议的一种类型,用于创建和发布开放的API文档,供API服务方开发部署通用API服务,以实现数据服务的去中心化。API需求方可以按照APIP协议从遵循该协议的任何一个API服务方那里获取数据服务。通用规则
《APIP1_OpenAPI》
规范了APIP类型协议的协议发布
、接口标识
、接口URL构成
、时间戳格式
、密码算法
、服务流程
、商业模式
、连接接口
,数据接口
和查询语法
的通用规则。设计、开发或应用APIP协议前,应先参考《APIP1_OpenAPI》协议。建立连接
使用APIP协议各接口,须先采用《APIP1_OpenAPI》的
connect
接口从API服务方获取symKey。参见《APIP1_OpenAPI》
的“connect接口”。通用请求参数
APIP类型协议接口的通用请求参数如下:
name type description requested requester string 请求方的fch地址 Y url string 当前所请求api的url Y timestamp timestamp 发起请求的时间戳,精确到毫秒 Y query object 请求数据的查询语句,参见”APIP简易查询语法@APIP1“ N sort object 请求数据的排序语句,参见”APIP简易查询语法@APIP1“ N from int 请求列表数据时的起始位置,从0开始 N size int 请求列表数据时的每页条目数 N sign string 用symkey对其他参数所做的签名 Y 通用响应方式
响应前所作的验证、通用响应状态码、通用响应参数参见
《APIP1_OpenAPI》
的“数据请求接口”的“5. 响应”。请求成功的通用响应参数为:
参数 类型 说明 适用状态 code int 响应状态码 all message string 响应状态描述 all data object 正常返回数据,由具体APIP定义。 0 sign string 将symKey加入响应参数做两次sha256哈希的签名值 all 具体APIP协议的特定响应参数在
data
参数中给出,并定义具体接口的响应状态。请求失败的通用响应码、响应信息和响应参数,参见
《APIP1_OpenAPI》
的“数据请求接口”的“5. 响应”。签名与验证
APIP接口的请求和响应都需要签名和验证。
connect接口请求时用私钥签名,公钥验证,响应时无需签名。
所有数据请求和数据响应,采用以下方法:
签名
:将对称密钥symKey加入参数压缩升序后计算两次sha256,得到sign的值,再用sign替换参数中的symKey。验证
:将sign从参数中取出,加入symKey,压缩升序后做两次sha256计算,将值与sign的值比较,一致则验证通过。详见
《APIP1_OpenAPI》
关于本协议
rawTxBroadcast
交易广播接口。在链上广播已经签名的原始交易。
url
[服务方发布的urlMainPart]apip2/v1/rawTxBroadcast
示例
https://www.sign.cash/api/apip2/v1/rawTxBroadcast
请求参数
name type description requested rawTx string Raw transaction Y - 示例
广播一笔原始交易。
请求参数:
{ "requesrer": "FEk41Kqjar45fLDriztUDTUkdki7mmcjWK", "timestamp": 1635513688254, "url": "https://www.sign.cash/api/apip2/v1/balance", "data": { "rawTx": "0222222222222222222222222222" }, "sign": "08a47ccb60c682366416e984f3d55f17014643abad512225c7856e5fae1cc933" }
响应参数
除通用响应状态和参数之外,交易广播后,服务方将Freecash节点的响应状态和参数,直接返回给请求方。