Spectrum API running on Telos Testnet

@eostribe · 2019-10-05 00:00 · eosio

spectrum.jpeg

EOS Tribe launched a beta version of it's web-socket streaming Spectrum API on Telos Testnet (https://www.telosfoundation.io/).

Telos Testnet Spectrum API web-socket endpoint: wss://testnet.telos.eostribe.io

This version currently supports subscriptions for get_actions and get_blocks endpoints.

Here is the sample subscription message for get_actions endpoint:

{
  "apikey":"test-api-key",
  "event":"subscribe",
  "type":"get_actions",
  "data":  {
              "account":"eostribeprod",
              “actions":[“transfer”,”buyram”]
   }
}

Fields description for get_actions:

  • event - type of events, there are two variants: “subscribe” and “unsubscribe”. Required [String].
  • type - type of endpoint. Required [String].
  • data - Contents of this object depends on type argument. Required for get_actions.
  • account - name of account. Required [String].
  • actions - List of actions name. [Object]. If actions are not specified - all actions will be matched.

Sample client in Python for get_actions:

import json
from websocket import create_connection

path="streaming"
url = "wss://testnet.telos.eostribe.io/"+path

actionsList = ["transfer","buyram"]
data = {"account":"eostribeprod"}
messageBody = {
   "apikey":"test-api-key",
   "event":"subscribe",
   "type":"get_actions",
    "data": data
 }
ws = create_connection(url)
messageJson = json.dumps(messageBody)
ws.send(messageJson)

while True:
   response = ws.recv()
   print(response)
ws.close()

Endpoint get_blocks - subscribe on new block events:

Request message format for get_blocks endpoint:

{
  "apikey":"test-api-key",
  "event":"subscribe",
  "type":"get_blocks"
}

Fields description:

  • apikey - key for access and accounting, not using on testnet.[String]
  • event - type of event, there are two variants “subscribe” and “unsubscribe”. To subscribe necessary using "subscribe" * value - this field is mandatory. [String].
  • type - type of endpoint. Required [String].

Sample Python client for get_blocks subscription:

import json
import pprint
from websocket import create_connection

path="streaming"
url = "wss://testnet.telos.eostribe.io/"+path

messageBody = {
   "apikey":"test-api-key",
             "event":"subscribe",
              "type":"get_blocks"
             }

ws = create_connection(url)
ws.send(json.dumps(messageBody))

while True:
   pprint.pprint(json.loads(ws.recv()))
ws.close()

JavaScript client is coming soon.

Feel free to give it a try and provide your feedback at out Telegram channel: https://t.me/EOSTribe

Original post describing Spectrum API architecture: https://steemit.com/eosio/@eostribe/introducing-spectrum-streaming-api-for-eosio

EOS Tribe is committed to continue work on creating innovative solutions for EOSIO.

#spectrum #api #telos #testnet
Payout: 0.000 HBD
Votes: 5
More interactions (upvote, reblog, reply) coming soon.