@bandprotocol/cron-requester

1.0.9 • Public • Published

Band Data Requester

A light-weight node.js tool to periodically query data on BandChain

⭐️ Features

  • Support cron-style scheduling
  • Support configuration via json file
  • Support execution through npx, no installation needed

📦 Prerequisite

You need to create a config.json file in your machine. Note that all the fields are mandatory, except cronPattern and requestInterval.

See example config.json for an example of requesting data from Band's GuanYu devnet every 5 minutes:

{
  "endpoint": "http://guanyu-devnet.bandchain.org/rest",
  "mnemonic": "final little loud vicious door hope differ lucky alpha morning clog oval milk repair off course indicate stumble remove nest position journey throw crane",
  "cronPattern": "*/5 * * * *",
  "requestInterval": 1000,
  "validatorCounts": {
    "minCount": 3,
    "askCount": 4
  },
  "requests": [
    {
      "oracleScriptId": 1,
      "params": {
        "symbol": "BTC",
        "multiplier": 1000000
      }
    },
    {
      "oracleScriptId": 13,
      "params": {
        "base_symbol": "ETH",
        "quote_symbol": "CNY",
        "aggregation_method": "median",
        "multiplier": 1000000
      }
    }
  ]
}

⚠️ Important: You need to have enough BAND in the requester account for paying transaction fees, otherwise your requests will fail.

💎 Example Usage

npx @bandprotocol/cron-requester config.json

Request Mode

If config.json does NOT specifies cronPattern, the requests will be sent in just one time.

∟ ✅ requestId = 180 | oracleScript #1 {"symbol":"BTC","multiplier":1000000}
∟ ✅ requestId = 181 | oracleScript #13 {"base_symbol":"ETH","quote_symbol":"CNY","aggregation_method":"median","multiplier":1000000}
⛳️ [2/2] requests was submitted
--------------------------------------------------------

Cron Mode

If config.json has specified cronPattern, the requests will be running by the interval specified.

--------------------------------------------------------
⭐️ Cron is running! Your requests will be executed with cron pattern */5 * * * *
📆 Your first requests will start at Sun Jun 14 2020 19:25:00 GMT+0700
--------------------------------------------------------
⏰ Requests start at 6/14/2020, 7:25:00 PM
∟ ✅ requestId = 180 | oracleScript #1 {"symbol":"BTC","multiplier":1000000}
∟ ✅ requestId = 181 | oracleScript #13 {"base_symbol":"ETH","quote_symbol":"CNY","aggregation_method":"median","multiplier":1000000}
⛳️ [2/2] requests was submitted
--------------------------------------------------------

Package Sidebar

Install

npm i @bandprotocol/cron-requester

Weekly Downloads

1

Version

1.0.9

License

MIT

Unpacked Size

8.17 kB

Total Files

5

Last publish

Collaborators

  • norulex
  • pzshine
  • sorawit
  • smiled0g