Spectrum API - Added get_table_rows endpoint

in #eosio2 years ago

spectrum.jpeg

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

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

This version currently supports subscriptions for get_actions, get_blocks, get_transaction and get_table_rows endpoints.

Below is the sample subscription message for the newly added get_table_rows endpoint:

{
  "apikey":"test-api-key",
  "event":"subscribe",
  "type":"get_table_rows",
  "data": {
    "code":"account name",
    "table":"table name",
    "scope":"scope name"
   }
}

Fields description for get_table_rows:

  • apikey - key for access and accounting, not used 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].
  • data - Contents of this object depends on type argument:
    • code - name of account. Required [String].
    • table - name of required table;
    • scope - The area of the tables where the table is stored.

Sample client in Python for get_table_rows:

import json
import pprint

from websocket import create_connection

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

messageBody ={
   "apikey":"test-api-key",
             "event":"subscribe",
             "type":"get_table_rows",
             "data": data
             }
ws = create_connection(url)
messageJson = json.dumps(messageBody)
ws.send(messageJson)

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

For other actions see our earlier post:

https://steemit.com/spectrum/@eostribe/spectrum-api-running-on-telos-mainnet

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.