Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

@setheum.js/evm-subql

Package Overview
Dependencies
Maintainers
2
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@setheum.js/evm-subql

Subquery services that index and query Setheum EVM+ transactions and logs.

latest
Source
npmnpm
Version
0.0.1
Version published
Maintainers
2
Created
Source

@setheum.js/evm-subql

Subquery services that index and query Setheum EVM+ transactions and logs.

Run

prepare

  • build eth-provider package if haven't done it
rush update
rush build
  • install project dependencies
yarn
  • generate Typescript from the GraphQL schema, and build code. more details
yarn build

run all services with docker

This includes a Setheum node within Docker.

docker-compose down && docker volume prune      # clean docker volume (optional)

docker-compose up                               # linux users
docker-compose -f macos-docker-compose.yml up   # mac users

Make sure to feed some EVM transactions to setheum node, for example we can use these evm examples.

run each service seperately

  • first install subql globally (recommended by the official doc)
npm i -g @subql/node @subql/query
  • run an Setheum node locally and listen to port 9944 (in terminal 1), and feed EVM data to it

  • run a postgres service and listen to port 5432 (in terminal 2)

docker run -it -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgres:12-alpine
  • run a subquery indexer (in terminal 3)
export DB_USER=postgres
export DB_PASS=postgres
export DB_DATABASE=postgres
export DB_HOST=localhost
export DB_PORT=5432

yarn index
  • run the Query service (in terminal 4)
export DB_USER=postgres
export DB_PASS=postgres
export DB_DATABASE=postgres
export DB_HOST=localhost
export DB_PORT=5432

yarn query

Now we can explorer graphql data at http://localhost:3001/ 🎉🎉

for example we can query

query {
  transactionReceipts {
    nodes {
      id
      to
      from
      transactionHash
      transactionIndex
      gasUsed
      logs {
        nodes {
          id
        }
      }
    }
  }
  logs {
    nodes {
      id,
      blockNumber,
      blockHash,
      transactionIndex,
      address,
      data,
      transactionHash,
      receipt {
        id
      }
    }
  }
}

Notes

  • Other packages in setters.js use rush to manage, but we use yarn for this one. Since rush update will cause tslib import problem, because rush uses symlink so pacakges point to outside, but subql/node's NodeVM doesn't allow import from outside.

FAQs

Package last updated on 01 Dec 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts