-
Notifications
You must be signed in to change notification settings - Fork 255
Trade
linj edited this page Nov 23, 2022
·
1 revision
[TOC]
在下面查询相关接口中,返回的卖单都一个一种格式,买单也是一种格式,只在第一个卖单或买单查询中列出其格式,不重复。
卖单买单状态说明:
状态 | 名称 | 说明 |
---|---|---|
1 | TradeOrderStatusOnSale | 在售 |
2 | TradeOrderStatusSoldOut | 售完 |
3 | TradeOrderStatusRevoked | 卖单被撤回 |
4 | TradeOrderStatusExpired | 订单超时(目前不支持订单超时) |
5 | TradeOrderStatusOnBuy | 求购 |
6 | TradeOrderStatusBoughtOut | 购买完成 |
7 | TradeOrderStatusBuyRevoked | 买单被撤回 |
Buy/Sell ID 在创建交易时不需要带上前缀 "mavl-trade-sell-" 或 "mavl-trade-buy-"
只指定地址,同时指定地址和token
请求报文:
{
"jsonrpc":"2.0",
"id":int32,
"method":"Chain33.Query",
"params":[
{
"execer":"trade",
"funcName":"GetOnesBuyOrder",
"payload":{"addr":"string"}
}
]
}
或
{
"jsonrpc":"2.0",
"id":int32,
"method":"Chain33.Query",
"params":[
{
"execer":"trade",
"funcName":"GetOnesBuyOrder",
"payload":{"addr":"string","token":["string","string"]}
}
]
}
参数说明:
参数 | 类型 | 是否必选 | 说明 |
---|---|---|---|
addr | string | 是 | 买单持有人 |
token | []string | 是 | 具体的token的标识符,可以是多个 |
status | int32 | 否 | 状态 |
direction | int32 | 否 | 查询的方向 |
count | int32 | 否 | 最多取的数量 |
fromKey | string | 否 | 开始查询的主键 |
响应报文:
{
"id":int32,
"result": {
"buyOrders" : [
{
"buyID" : "string",
"sellID" : "string",
"txHash" : "string",
"key" : "string",
"height" : int64,
"tokenSymbol" : "string",
"status" : int32,
"owner" : "string",
"blockTime" : int64,
"isSellOrder" : bool,
"tradedBoardlot" : int64,
"pricePerBoardlot" : int64,
"amountPerBoardlot" : int64,
"minBoardlot" : int64,
"totalBoardlot" : int64,
"assetExec":"string",
"priceExec":"string",
"priceSymbol":"string"
}
]
},
"error":null
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
result | - | 对应买单的列表 |
key | string | 可能是 buyID 或 txhash。 在现价买单中是txHash, 在限价买单中是 buyID |
txHash | string | 对应交易的hash |
sellID | string | 卖单id |
buyID | string | 买单id |
tokenSymbol | string | token的标识符 |
owner | string | token购买者的地址 |
blockTime | int64 | 出块的 UTC 时间 |
isSellOrder | string | 是否是买单 |
status | bool | 买单状态 |
height | int64 | 买单所在区块的高度 |
amountPerBoardlot | int64 | 每一手成交的数量 |
minBoardlot | int64 | 一次购买最少成交的数量 |
pricePerBoardlot | int64 | 一手成交的价格 |
totalBoardlot | int64 | 总共购买的手数 |
tradedBoardlot | int64 | 已经成交手数 |
assetExec | string | 资产来源的执行器名称 |
priceExec | string | |
priceSymbol | string | - |
请求报文:
{
"jsonrpc":"2.0",
"id":int32,
"method" : "Chain33.Query",
"params":[
{
"execer" : "trade",
"funcName" : "GetOnesBuyOrderWithStatus",
"payload" : {
"addr" : "string",
"status" : int32
}
}
]
}
参数说明:
参数 | 类型 | 是否必选 | 说明 |
---|---|---|---|
addr | string | 是 | 买单持有人 |
token | []string | 否 | 具体的token的标识符,可以是多个 |
status | int32 | 是 | 买单状态 |
direction | int32 | 否 | 查询的方向 |
count | int32 | 否 | 最多取的数量 |
fromKey | string | 否 | 开始查询的主键 |
响应报文:
{
"id":int32,
"result": {
"buyOrders" : [
{
"buyID" : "string",
"sellID" : "string",
"txHash" : "string",
"key" : "string",
"height" : int64,
"tokenSymbol" : "string",
"status" : int32,
"owner" : "string",
"blockTime" : int64,
"isSellOrder" : bool,
"tradedBoardlot" : int64,
"pricePerBoardlot" : int64,
"amountPerBoardlot" : int64,
"minBoardlot" : int64,
"totalBoardlot" : int64,
"assetExec":"string",
"priceExec":"string",
"priceSymbol":"string"
}
]
},
"error":null
}
result: 对应买单的列表,各项同1.1。
请求报文:
{
"jsonrpc":"2.0",
"id":int32,
"method":"Chain33.Query",
"params":[
{
"execer" : "trade",
"funcName" : "GetTokenBuyOrderByStatus",
"payload" : {"tokenSymbol":"string","status":int32,"count":int32,"direction":int32,"fromKey":"string"}
}
]
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
status | int32 | 订单状态 (默认是4, 求购状态) |
count | int32 | 卖单数量 |
direction | int32 | 0 上一页; 1下一页 |
tokenSymbol | string | 填写token标识符 |
fromKey | string | 买单的key,不填第一页;如果要获取下一页, 填写这一页的最后一个买单的key;如果要获取上一页, 填写这一页的第一个买单的key。 |
响应报文:
{
"id":int32,
"result": {
"buyOrders" : [
{
"buyID" : "string",
"sellID" : "string",
"txHash" : "string",
"key" : "string",
"height" : int64,
"tokenSymbol" : "string",
"status" : int32,
"owner" : "string",
"blockTime" : int64,
"isSellOrder" : bool,
"tradedBoardlot" : int64,
"pricePerBoardlot" : int64,
"amountPerBoardlot" : int64,
"minBoardlot" : int64,
"totalBoardlot" : int64,
"assetExec":"string",
"priceExec":"string",
"priceSymbol":"string"
}
]
},
"error":null
}
result: 对应买单的列表,各项同1.1。
请求报文:
{
"jsonrpc":"2.0",
"id":int32,
"method":"Chain33.Query",
"params":[
{
"execer" : "trade",
"funcName" : "GetOnesSellOrder",
"payload" : {"addr": string, "token": ["string", "string"]}
}
]
}
参数说明:
参数 | 类型 | 是否必选 | 说明 |
---|---|---|---|
addr | string | 是 | 买单持有人 |
token | []string | 是 | 具体的token的标识符,可以是多个, 或不指定 |
status | int32 | 否 | 状态 |
direction | int32 | 否 | 查询的方向 |
count | int32 | 否 | 最多取的数量 |
fromKey | string | 否 | 开始查询的主键 |
响应报文:
{
"id":int32,
"result": {
"sellOrders" : [
{
"buyID" : "string",
"sellID" : "string",
"txHash" : "string",
"key" : "string",
"height" : int64,
"tokenSymbol" : "string",
"status" : int32,
"owner" : "string",
"blockTime" : int64,
"isSellOrder" : bool,
"tradedBoardlot" : int64,
"pricePerBoardlot" : int64,
"amountPerBoardlot" : int64,
"minBoardlot" : int64,
"totalBoardlot" : int64,
"assetExec":"string",
"priceExec":"string",
"priceSymbol":"string"
}
]
},
"error":null
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
result | - | 对应买单的列表 |
key | string | 可能是 sellID 或 txHash。 在现价卖单中是txHash, 在限价卖单中是 sellID |
txHash | string | 对应交易的hash |
sellID | string | 卖单id |
buyID | string | 买单id |
tokenSymbol | string | 在售token的标识符 |
owner | string | token卖单的地址 |
blockTime | int64 | 出块的 UTC 时间 |
isSellOrder | string | 是否是买单 |
status | bool | 卖单状态 |
height | int64 | 卖单所在区块的高度 |
amountPerBoardlot | int64 | 每一手成交的数量 |
minBoardlot | int64 | 一次购买最少成交的数量 |
pricePerBoardlot | int64 | 一手成交的价格 |
totalBoardlot | int64 | 总共购买的手数 |
tradedBoardlot | int64 | 已经成交手数 |
assetExec | string | 资产来源的执行器名称 |
priceExec | string | |
priceSymbol | string | - |
请求报文:
{
"jsonrpc":"2.0",
"id":int32,
"method":"Chain33.Query",
"params":[
{
"execer" : "trade",
"funcName" : "GetOnesSellOrderWithStatus",
"payload" : {"addr": string, "status": int32}
}
]
}
参数说明:
参数 | 类型 | 是否必选 | 说明 |
---|---|---|---|
addr | string | 是 | 卖单地址 |
token | []string | 否 | 具体的token的标识符,可以是多个 |
status | int32 | 是 | 1表示在售状态; 2,表示售罄状态;3,表示卖单被撤销状态 |
direction | int32 | 否 | 查询的方向 |
count | int32 | 否 | 最多取的数量 |
fromKey | string | 否 | 开始查询的主键 |
响应报文:
{
"id":int32,
"result": {
"sellOrders" : [
{
"buyID" : "string",
"sellID" : "string",
"txHash" : "string",
"key" : "string",
"height" : int64,
"tokenSymbol" : "string",
"status" : int32,
"owner" : "string",
"blockTime" : int64,
"isSellOrder" : bool,
"tradedBoardlot" : int64,
"pricePerBoardlot" : int64,
"amountPerBoardlot" : int64,
"minBoardlot" : int64,
"totalBoardlot" : int64,
"assetExec":"string",
"priceExec":"string",
"priceSymbol":"string"
}
]
},
"error":null
}
result: 对应卖单的列表,各项同1.4。
见 1.1
见 1.1
请求报文:
{
"jsonrpc":"2.0",
"id":int32,
"method":"Chain33.Query",
"params":[
{
"execer" : "trade",
"funcName" : "GetTokenSellOrderByStatus",
"payload" : {"tokenSymbol":"string","status":int32,"count":int32,"direction":int32,"fromKey":"string"}
}
]
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
status | int32 | 查询状态 (默认 1, 在售状态) |
count | int32 | 卖单数量 |
direction | int32 | 0 上一页; 1下一页 |
tokenSymbol | string | 填写token标识符 |
fromKey | string | 卖单的key,不填第一页;如果要获取下一页, 填写这一页的最后一个卖单的key;如果要获取上一页, 填写这一页的第一个卖单的key。 |
响应报文:
{
"id":int32,
"result": {
"sellOrders" : [
{
"buyID" : "string",
"sellID" : "string",
"txHash" : "string",
"key" : "string",
"height" : int64,
"tokenSymbol" : "string",
"status" : int32,
"owner" : "string",
"blockTime" : int64,
"isSellOrder" : bool,
"tradedBoardlot" : int64,
"pricePerBoardlot" : int64,
"amountPerBoardlot" : int64,
"minBoardlot" : int64,
"totalBoardlot" : int64,
"assetExec":"string",
"priceExec":"string",
"priceSymbol":"string"
}
]
},
"error":null
}
result: 对应卖单的列表,各项同1.4。
请求报文:
{
"jsonrpc":"2.0",
"id":int32,
"method":"trade.CreateRawTradeSellTx",
"params":[
{
"tokenSymbol":"string",
"assetExec":"string",
"amountPerBoardlot":int64,
"minBoardlot":int64,
"pricePerBoardlot":int64,
"totalBoardlot":int64,
"priceExec" : "string",
"priceSymbol" : "string",
"fee" : int64
}
]
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
tokenSymbol | string | 资产标识符 |
assetExec | string | 资产来源的执行器名称 |
amountPerBoardlot | int64 | 每一手成交的数量 |
minBoardlot | int64 | 一次购买最少成交的数量 |
pricePerBoardlot | int64 | 一手成交的价格 |
totalBoardlot | int64 | 总共的出售的手数 |
priceExec | string | 标价资产的合约 |
priceSymbol | string | 标价资产的名字 |
fee | int64 | 交易的手续费 |
响应报文:
{
"id":int32,
"result":"string",
"error":null
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
result | string | 交易十六进制编码后的字符串 |
请求报文:
{
"jsonrpc":"2.0",
"id":int32,
"method":"trade.CreateRawTradeBuyTx",
"params":[
{
"sellID":string,
"boardlotCnt":int64,
"fee" : int64
}
]
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
sellID | string | 卖单id |
boardlotCnt | int64 | 购买数量,单位手 |
fee | int64 | 交易的手续费 |
响应报文:
{
"id":int32,
"result":"string",
"error":null
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
result | string | 交易十六进制编码后的字符串 |
请求报文:
{
"jsonrpc":"2.0",
"id":int32,
"method":"trade.CreateRawTradeRevokeTx",
"params":[{"sellID":"string","fee" : int64}]
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
sellID | string | 卖单id |
fee | int64 | 交易的手续费 |
响应报文:
{
"id":int32,
"result":"string",
"error":null
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
result | string | 交易十六进制编码后的字符串 |
请求报文:
{
"jsonrpc":"2.0",
"id":int32,
"method":"trade.CreateRawTradeBuyLimitTx",
"params":[
{
"tokenSymbol":"string",
"assetExec":"string",
"amountPerBoardlot":int64,
"minBoardlot":int64,
"pricePerBoardlot":int64,
"totalBoardlot":int64,
"priceExec" : "string",
"priceSymbol" : "string",
"fee" : int64
}
]
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
tokenSymbol | string | token标识符 |
assetExec | string | 资产来源的执行器名称 |
amountPerBoardlot | int64 | 每一手成交的数量 |
minBoardlot | int64 | 一次购买最少成交的数量 |
pricePerBoardlot | int64 | 一手成交的价格 |
totalBoardlot | int64 | 总共的出售的手数 |
priceExec | string | 标价资产的合约 |
priceSymbol | string | 标价资产的名字 |
fee | int64 | 交易的手续费 |
响应报文:
{
"id":int32,
"result":"string",
"error":null
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
result | string | 交易十六进制编码后的字符串 |
请求报文:
{
"jsonrpc":"2.0",
"id":int32,
"method":"trade.CreateRawTradeSellMarketTx",
"method":
"params":[{"buyID":string,"boardlotCnt":int64,"fee" : int64}]
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
buyID | string | 买单id |
boardlotCnt | int64 | 购买数量,单位手 |
fee | int64 | 交易的手续费 |
响应报文:
{
"id":int32,
"result":"string",
"error":null
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
result | string | 交易十六进制编码后的字符串 |
请求报文:
{
"jsonrpc":"2.0",
"id":int32,
"method":"trade.CreateRawTradeRevokeBuyTx",
"params":[{"buyID":"string","fee" : int64}]
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
buyID | string | 买单id |
fee | int64 | 交易的手续费 |
响应报文:
{
"id":int32,
"result":"string",
"error":null
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
result | string | 交易十六进制编码后的字符串 |
请求报文:
{
"id" :int32 ,
"method" : "Chain33.Query",
"params":[
{
"execer" : "trade",
"funcName" : "GetOnesOrderWithStatus",
"payload" : {
"status":int32,
"addr" : "string",
"direction":int32,
"count" : int32,
"fromKey" : "string"
}
}
]
}
参数说明:
参数 | 类型 | 是否必选 | 说明 |
---|---|---|---|
addr | string | 是 | 指定地址 |
token | []string | 否 | 具体的token的标识符,可以是多个 |
status | int32 | 是 | 1: 未完成交易, 2: 完成的交易, 3: 撤销的交易 |
direction | int32 | 否 | 查询的方向,0 按高度降序, 1 按高度升序 |
count | int32 | 否 | 最多取的数量 |
fromKey | string | 否 | 开始查询的主键,第一页时不指定。 其他页时,指定上一页的最后一个key |
响应报文:
{
"id":int32,
"result": {
"orders" : [
{
"buyID" : "string",
"sellID" : "string",
"txHash" : "string",
"key" : "string",
"height" : int64,
"tokenSymbol" : "string",
"status" : int32,
"owner" : "string",
"blockTime" : int64,
"isSellOrder" : bool,
"tradedBoardlot" : int64,
"pricePerBoardlot" : int64,
"amountPerBoardlot" : int64,
"minBoardlot" : int64,
"totalBoardlot" : int64,
"assetExec":"string",
"priceExec":"string",
"priceSymbol":"string"
}
]
},
"error":null
}
result: 对应列表,各项同1.1。
hello world