
Research
Shai-Hulud Descends to Hades: Miasma Worm Campaign Spreads with New PyPI Wave
Socket found 37 malicious PyPI wheels that abuse Python startup hooks to launch a Bun-powered credential stealer tied to Mini Shai-Hulud/Miasma.
@metmirr/hydra-cli
Advanced tools
A cli tool for running a Hydra query node
USAGE
$ hydra-cli [COMMAND]
COMMANDS
scaffold Generate a starter project with a sample schema file and mappings
codegen Generate a ready to run graphql server and block indexer
preview Preview the output schema served by the GraphQL server
A Hydra query node ingests substrate events in a multi-step pipeline which looks as follows:
Substrate Chain => Hydra Indexer => Indexer GraphQL gateway => Hydra Processor => Database => Query Node GraphQL endnpoint
For popular chains the processor may connect to a publicly available Indexer endpoint (such as https://kusama-indexer.joystream.app/graphql for Kusama), otherwise a self-hosted indexer should be run.
Using npx:
$ alias hydra-cli='npx @dzlzv/hydra-cli'
or install via npm:
npm install -g @dzlzv/hydra-cli
and then
$ hydra-cli [COMMAND]
Run
$ hydra-cli scaffold
and answer the prompts. The scaffolder will generate the following files:
├── .env
├── docker-compose.yml
├── docker
├── mappings
├── package.json
└── schema.graphql
The scaffolder auto-generates sample mappings and an input schema file as a quick starter. The provided example simply tracks all the transfers in the chain and is not that interesting on its own.
Make sure a PostgresDB is running in the background. You may start it with docker:
docker-compose up -d db
Then run all the nessary migrations and codegen in a single run:
yarn bootstrap
Now you can start Hydra processor running the mappings in ./mappings against the indexer as configure in .env:
yarn processor:start
To run a GraphQL query node server run in a separate window:
yarn server:start:dev
A GraphQL playground will open up at localhost:4000. Try to query some Kusama transfers:
query {
transfers(limit: 5, where: { value_gt: 1000000000000 }) {
block
value
from
to
}
}
The schema and the queries can be inspected on the Schema and Docs tabs on the right.
For an in-depth guide on how to create complex schemas and supported features like full-text search, interfaces, union and algebraic types and more, check the Docs and also visit Hydra Webpage for a one-pager.
The easiest way to get the whole Hydra stack working inside a Docker container is to build a hydra-kit Docker image. The provided docker-compose.yml comes with a node-template image for a Substate chain and a Hydra indexer run against it.
First, build hydra-kit:
$ yarn docker:build
Let's start the db and run the migrations. hydra-kit will connect to the network running the database container created by docker-compose.
$ yarn docker:db:up
$ yarn db:prepare
$ yarn docker:db:migrate
Now everything is ready to run the whole stack locally:
$ yarn docker:up
After some warm-up time, the query node will be available at localhost:4000 and the indexer gateway playground at localhost:4001
To run a self-hosted indexer, we need to spin up a local indexer together with a GraphQL gateway. The setup requires a redis and a db instance and thus is more convenient to run with a docker-compose file:
$ docker-compose up -d redis
$ docker-compose up -d indexer
$ docker-compose up -d indexer-api-gateway
If everything set up correctly, it should be possible to inspect the Indexer gateway at http://localhost:4001/graphql
When the indexer gateway is available (either locally or hosted elsewhere), the processor can be run againt it:
$ docker-compose up -d processor
For running against a hosted indexer gateway, simply change INDEXER_ENDPOINT_URL variable. For example, setting it to https://indexer-kusama.joystream.app/graphql will run the processor against events and extrinsincs in Kusama chain.
For running the processor locally, run yarn processor:start
Finally, run the query node endpoint:
$ docker-compose up -d graphql-server
The query node is run at port 8080 by default.
To run it locally, inspect the settings in .env and run
$ yarn configure:dev
$ yarn server:start:dev
FAQs
CLI tool for building a Hydra query node
The npm package @metmirr/hydra-cli receives a total of 0 weekly downloads. As such, @metmirr/hydra-cli popularity was classified as not popular.
We found that @metmirr/hydra-cli demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Research
Socket found 37 malicious PyPI wheels that abuse Python startup hooks to launch a Bun-powered credential stealer tied to Mini Shai-Hulud/Miasma.

Security News
RubyGems and Bundler 4.0.13 introduced an opt-in cooldown feature that delays newly published gems during dependency resolution.

Security News
pnpm 11.5 now recognizes npm staged publish approvals in release metadata, preventing those releases from being mistaken for lower-trust package publishes.