Mokhtar Naamani e952c9adc7 query-node: fix some ApiPromise specific issues in index-builder 4 년 전
..
bootstrap 835b9dc8fd remove hydra related code 4 년 전
generated 8ece43bb6f query-node: use custom index-builder-lib 4 년 전
index-builder e952c9adc7 query-node: fix some ApiPromise specific issues in index-builder 4 년 전
mappings 9b91908678 query-node: fix "happenedIn" property not defined VideoMediaEncoding graphql schema 4 년 전
.dockerignore e81df555c6 WIP - refactoring query_node 4 년 전
.env e81df555c6 WIP - refactoring query_node 4 년 전
.gitignore e952c9adc7 query-node: fix some ApiPromise specific issues in index-builder 4 년 전
README.md 2eec0339f0 update readme.md 4 년 전
docker-compose.yml 91d4a12dbb query-node: move run-tests.sh to query-node/ 4 년 전
package.json e952c9adc7 query-node: fix some ApiPromise specific issues in index-builder 4 년 전
run-tests.sh 433987200d query-node: show more log lines after tests exit 4 년 전
schema.graphql 86a14a5067 add happenedIn field to Language and VideoMediaEncoding entities 4 년 전
tsconfig.json dff8a36993 query-node: update tsconfig 4 년 전
typedefs.json ca0f390137 update typedefs from types 4 년 전

README.md

query-node

The query-node project contains an input schema (schema.graphql) and mappings for the Joystream content-directory runtime module.

Code generation

We use Hydra-cli to generate a graphql server and a block indexer for joystream chain:

$ cd query-node
$ hydra-cli codegen

After codegen process is done, we must add this lines to the indexer/tsconfig.json file. It is required because we are using joystream/types for decoding chain data in the mappings:

{
  "compilerOptions":
    ...
    "baseUrl": ".",
    "paths": {
      "@polkadot/types/augment": ["../../node_modules/@joystream/types/augment-codec/augment-types.ts"]
    }
}

Run mapping processor

Before running mappings make sure indexer(yarn indexer:start) and indexer-api-server (mappings get the chain data from this graphql server) are both running:

yarn processor:start

Query data

Once processor start to store event data you will be able to query this data from http://localhost:4002/graphql.

query {
  channels {
    title
  }
}