# 网关 API

# 如何使用网关 API

# Base URL

Client URL
Base URL https://www.bystack.com/api/v1

# HTTP返回格式

{
  "code": 200,
  "msg": "",
  "data": {}
}
参数 类型 描述
code int HTTP状态码
message string HTTP状态信息
data json object 返回详细数据

# Access token使用说明

每次调用API时,需将access token放在header中

{
  "Authorization": "Bearer access_token"
}

# API method

# 创建链上账户

创建链上账户,返回账户地址

# 参数

  • uint64 - user_id, user_id跟bystack账户对应。一般为平台上的用户名(唯一)

# 返回值

  • Int - code, http状态码
  • String - message, http状态信息
  • Json object - data, 返回详细数据
    • String - address, 新创建的账户地址

# 示例

// Request
curl -X POST create-account -d '{"user_id": "1"}'

// Response
{
  "code": 200,
  "message": "",
  "data": {
    "address": "0x1d15a32E7BC025F150e5C462C2CA14c960fd896d"
  }
}

# 查询账户信息

用user_id查询账户地址

# 参数

  • uint64 - user_id,user_id跟bystack账户对应。一般为平台上的用户名(唯一)

# 返回值

  • Int - code, http状态码
  • String - message, http状态信息
  • Json object - data, 返回详细数据
    • String - address, 查询地址

# 示例

// Request
curl -X GET /account/1

// Response
{
  "code": 200,
  "message": "",
  "data": {
    "address": "0x1d15a32E7BC025F150e5C462C2CA14c960fd896d"
  }
}

# 发行资产

为指定用户发行资产,资产发行到指定用户地址上

# 参数

  • String - address, 资产发行到该地址
  • String - name, 资产名称
  • String - symbol, 资产符号,一般为name的首字符缩写
  • String - description, 资产描述

# 返回值

  • Int - code, http状态码
  • String - message, http状态信息
  • Json object - data, 返回详细数据
    • String - asset_id, 新创建资产id

# 示例

// Request
curl -X POST /create-asset -d '{"address": "0x1d15a32E7BC025F150e5C462C2CA14c960fd896d","name": "test1","symbol": "TEST1",,"description": ""}'

// Response
{
  "code": 200,
  "message": "",
  "data": {
    "asset_id": "0x0b45Ad27866C8E05ED610cd8A0ec78de94B18202-b3"
  }
}

# 查询资产信息

通过asset_id获取资产信息

# 参数

  • String - asset,资产id

# 返回值

  • Int - code, http状态码
  • String - message, http状态信息
  • Json object - data, 返回详细数据
    • String - asset_id, 资产id
    • String - tx_hash, 资产上链hash
    • String - name, 资产名称
    • String - symbol, 资产符号,一般为name的首字符缩写
    • String - descrition, 资产描述
    • String - status,资产上链状态:building, submitted, succeeded, failed
    • uint64 - timestamp,资产上链时间
    • String - cost, 消耗手续费

# 示例

// Request
curl -X GET /asset/0x0b45Ad27866C8E05ED610cd8A0ec78de94B18202-b3

// Response
{
  "code": 200,
  "message": "",
  "data": {
    "asset_id": "0x0b45Ad27866C8E05ED610cd8A0ec78de94B18202-b3",
    "tx_hash":"",
    "name": "Test1",
    "symbol": "TEST1",
    "description": "",
    "status": "successed",
    "timestamp":128712123,
    "cost":"0.1"
  }
}

# 资产转移

资产从一个账户转移给另一个账户

# 参数

  • String - from_address, 资产发送地址
  • String - to_address, 资产接收地址
  • String - asset_id, 待转移资产id

# 返回值

  • Int - code, http状态码
  • String - message, http状态信息
  • Json object - data, 返回详细数据
    • String - gw_id, 网关id,和资产转移行为对应,可用户查询资产转移状态

# 示例

// Request
curl -X POST /transfer-asset -d '{"from_address": "0x5780f035A15ef7201ec1aaC7fC4Aa26Fc242b46A","to_address": "0xA46E01606f9252fa833131648f4D855549BcE9D9","asset_id": "0x0b45Ad27866C8E05ED610cd8A0ec78de94B18202-b3"}'

// Response
{
  "code": 200,
  "message": "",
  "data": {
    "gw_id": "abc0192dab55631d8"
  }
}

# 查询资产转移

用gw_id查询资产转移交易状态

# 参数

  • String - gw_id, 网关id,由/transfer-asset返回

# 返回值

  • Int - code, http状态码
  • String - message, http状态信息
  • Json object - data, 返回详细数据
    • String - tx_hash, 交易hash
    • String - from_address,资产发送地址
    • String - to_address, 资产接收地址
    • String - asset_id, 转移的资产id
    • String - status, 资产转移状态, building, submitted, succeeded, failed
    • uint64 - timestamp, 上链时间戳
    • String - cost, 消耗手续费

# 示例

// Request
curl -X GET /tx/abc0192dab55631d8

// Response
{
  "code": 200,
  "message": "",
  "data": {
    "tx_hash": "0xfaa0ec9c6a774b381bc3c4bbcf0a93d678672b97f04b4d26d5c2610366012716",
    "from_address":"0x5780f035A15ef7201ec1aaC7fC4Aa26Fc242b46A",
    "to_address":"0xA46E01606f9252fa833131648f4D855549BcE9D9",
    "asset_id":"0x27B4bd40d7AaBB98b4A2682A9CfaBD6d7292276a#b4",
    "timestamp":"1660113187",
    "status":"succeeded",
    "cost":""
  }
}
上次更新: 9/16/2022, 3:32:44 PM