npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@setheum.js/evm-subql

v0.0.1

Published

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

Downloads

4

Readme

@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.