star-bit-sdk

0.0.3 • Public • Published

STAR BIT SDK

用於 STAR BIT 之程式交易SDK。
使用前請先向STAR BIT申請API Key。
將申請資料傳送郵件至 STAR BIT SERVICE,在經過審核後,會回覆API Key給您。

安裝

npm install --save star-bit-sdk

測試

不含傳送資料到伺服器

npm run test 

範例

注意非同步問題

初始化SDK環境

Promise Type:

const Creator = require("star-bit-sdk");
let starInstance;
const sbtAddress = "0x503f9794d6a6bb0df8fbb19a2b3e2aeab35339ad",
  wethAddress = "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2";
Creator(
  <<API Key>>,
  <<Private Key>>,
  <<RPC URL>>
).then(starSDK => {
  //store a sdk instance in variable
  starInstance = starSDK;
  return starInstance.getOrderBookAsync(sbtAddress, wethAddress);
}).then(result =>{
  console.log(result);
})

async/await Type:

const Creator = require("star-bit-sdk");
async function main() {
  const sbtAddress = "0x503f9794d6a6bb0df8fbb19a2b3e2aeab35339ad",
    wethAddress = "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2";
 
  const starInstance = await Creator(
    <<API Key>>,
    <<Private Key>>,
    <<RPC URL>>);
 
  let orders = await starInstance.getOrderBookAsync(sbtAddress, wethAddress);
 
  console.log(orders);
}
main();

功能說明

存取 STAR BIT API

1. getAllTokenAsync

取得 STAR BIT 上架的所有token

輸入:

  • baseToken: String 可選輸入,預設為WETH的代幣地址 以該代幣為基準幣,查詢交易的成交量、成交價、漲跌幅等。

輸出: Promise

  {
    "result": Boolean,
    "data": [ {
      //
      "name": String,
      //
      "symbol": String,
      //
      "decimals": Number,
      //
      "tokenAddress": String,
      //
      "status": String,
      //
      "toStable":{
        //WETH
        "WETH": {
          //
          "raise": String,
          //"--"
          "volume": String or Number,
          //
          "price": String
        },
        //
        << baseTokenName >>:{ __WETH__ }
      }
    } ]
  }

2. getOrderBookAsync

取得相關代幣的買賣掛單

輸入:

  • baseToken: String 作為基準的代幣地址
  • tradingToken: String 交易的代幣地址

輸出: Promise

  {
    "result": Boolean,
    "data": {
      "buy": [ {
        //
        "createTime": Number ,
        //
        "expirationTimeSeconds": Number,
        //
        "makerAssetAmount": String,
        //
        "makerAssetToken": String,
        //
        "takerAssetAmount": String,
        //
        "takerAssetToken": String,
        ///
        "price": Number
      } ],
      "sell":[ { ____ } ]
    }
  }

3. getWalletOrdersAsync

取得該錢包的所有掛單與歷史掛單 (若沒有掛過任何單,則回傳404)

輸出: Promise

  {
    "result": Boolean,
    "data": {
      //
      "address": String,
      //
      "orderMaxCount": Number,
      //10
      "orders": [ { 
        //
        "makerAddress": String,
        //
        "status": String,
        //orderHash
        "orderHash": String,
        //
        "createTime": Number,
        //
        "expirationTimeSeconds": Number,
        //
        "makerAssetAmount": String,
        //
        "makerAssetToken": String,
        //
        "makerAssertDecimal": Number,
        //
        "makerAssertOriginalAmount": String,
        //
        "takerAssetAmount": String,
        //
        "takerAssetToken": String,
        //
        "takerAssertDecimal": Number,
        //
        "takerAssertOriginalAmount": String,
        ///
        "price": Number,
      } ],
      //
      "doneOrderMaxCount": Number,
      //10
      "doneOrders":[{ ____ }]
    }
  }

4. sendOrderAsync

傳輸createOrderAsync產生的掛單資料到伺服器。

輸入:

  • order: OrdercreateOrderAsync產生的資料

輸出:

  {
    "result": Boolean,
    "data": String
  }

5. sendCancelOrderAsync

傳輸cancelOrderAsync產生的掛單資料到伺服器。

輸入:

  • order: MessageForCancelcancelOrderAsync產生的資料

輸出:

  {
    "result": Boolean,
    "data": String
  }

產生資料

1. createOrderAsync

創建掛單

輸入:

  • baseTokenAddress: String 基準幣的地址
  • baseTokenAmount: String 交易多少顆基準幣
  • baseTokenDecimal: Number 基準幣的精度
  • tradingTokenAddress: String 交易的代幣地址
  • tradingTokenAmount: String 交易的代幣數量
  • tradingTokenDecimal: Number 交易的代幣精度
  • isBuyOrder: Boolean true=買單, false=賣單
  • expirationInMin: Number 掛單在多少分鐘後過期

輸出: Promise<Order> 傳輸給伺服器的掛單資料,勿修改

2. cancelOrderAsync

取消掛單

輸入:

  1. orderHash: String 掛單的hash值

輸出: Promise<MessageForCancel> 傳輸給伺服器的取消掛單資料,勿修改

Package Sidebar

Install

npm i star-bit-sdk

Weekly Downloads

1

Version

0.0.3

License

Apache-2.0

Unpacked Size

24.9 kB

Total Files

4

Last publish

Collaborators

  • exia5693