NG
SubQuery

SubQuery

Setup Guide

AI Translation
В данном гайде рассматривается скорее выполнение заданий, нежели поднятие ноды. Эти задания необходимы для участия в амбассадорской программе.
Для получения доступа к заданиям зарегистрируйтесь по ссылке, задания будут доступны на портале. Отправлять задания нужно в форму. В данный момент вы можете отправить только первые два модуля.

Подготовка

Воспользуйтесь нашим скриптом для установки всего необходимого для дальнейшей работы:

wget -q -O subquery.sh https://api.nodes.guru/subquery.sh && chmod +x subquery.sh && sudo /bin/bash subquery.sh

После успешного выполнения скрипта будут установлены:

  • NodeJS
  • NPM
  • Yarn
  • Docker
  • Docker Compose
В случае наличия ошибок попробуйте выполнить следующее:

  1. Откройте docker-compose.yml
  2. Замените --local на --db-schema=app

Now all should works correctly.

Module 1

Выполните команду:

cd $HOME
subql init --starter hello-world

Все поля можно оставить по-умолчанию (просто нажимать Enter), но нужно заполнить поле Authors. В итоге должно получиться примерно следующее:

SubQuery-0

Выполните следующие команды:

cd hello-world
yarn install
yarn codegen
yarn build
docker-compose pull
docker-compose up -d

Теперь вам нужно дождаться пока все загрузится и нода синхронизирует несколько блоков (обычно это несколько минут), после чего введите команду:

echo "http://"$(curl -s ifconfig.me)":3000"

Перейдите по появившейся в консоли ссылке, вам должна открыться панель GraphQL.

В появившейся панели вводите следующий запрос:

{
  query {
    starterEntities(first: 10) {
      nodes {
        field1
      }
    }
  }
}

Отправьте запрос, результат должен быть примерно такой:

Залейте вашу папку hello-world в виде репозитория на GitHub, в форме укажите ссылку на этот репозиторий.

Остановите контейнер:

cd $HOME/hello-world
docker-compose stop

Module 2

Exercise 1

Выполните команды:

cd $HOME
git clone https://github.com/subquery/tutorials-account-balances.git
cd tutorials-account-balances
yarn
yarn codegen
yarn build
docker-compose pull
docker-compose up -d

Дождитесь пока все загрузится и нода синхронизирует несколько блоков (обычно это несколько минут), после чего введите команду:

echo "http://"$(curl -s ifconfig.me)":3000"

Перейдите по появившейся в консоли ссылке, вам должна открыться панель GraphQL.

В появившейся панели вводите следующий запрос:

query {
  accounts(first:15, orderBy:BALANCE_ASC){
    nodes{
      account
      balance
    }
  }
}

Отправьте запрос, результат должен быть примерно такой:

SubQuery-2

Залейте вашу папку tutorials-account-balances в виде репозитория на GitHub, в форме укажите ссылку на этот репозиторий.

Остановите контейнер:

cd $HOME/tutorials-account-balances
docker-compose stop

Module 3

Exercise 1

Выполните команды:

cd $HOME
git clone https://github.com/subquery/tutorials-account-transfers
cd tutorials-account-transfers
yarn
yarn codegen
yarn build
docker-compose pull
docker-compose up -d

Дождитесь пока все загрузится и нода синхронизирует несколько блоков (обычно это несколько минут), после чего введите команду:

echo "http://"$(curl -s ifconfig.me)":3000"

Перейдите по появившейся в консоли ссылке, вам должна открыться панель GraphQL.

В появившейся панели вводите следующий запрос:

query {
  transfers(first: 5, orderBy:AMOUNT_DESC) {
    nodes {
      id
      amount
      blockNumber
      to {
        id
      }
    }
  }
}

Отправьте запрос, результат должен быть примерно такой:

SubQuery-3

Остановите контейнер:

cd $HOME/tutorials-account-transfers
docker-compose stop

Exercise 2

Выполните команды:

cd $HOME
git clone https://github.com/subquery/tutorials-council-proposals
cd tutorials-council-proposals
yarn
yarn codegen
yarn build
docker-compose pull
docker-compose up -d

Дождитесь пока все загрузится и нода синхронизирует несколько блоков (обычно это несколько минут), после чего введите команду:

echo "http://"$(curl -s ifconfig.me)":3000"

Перейдите по появившейся в консоли ссылке, вам должна открыться панель GraphQL.

В появившейся панели вводите следующий запрос:

query {
  councillors(first: 5, orderBy: NUMBER_OF_VOTES_DESC) {
    nodes {
      id
      numberOfVotes
      voteHistory(first: 3) {
        totalCount
        nodes {
          approvedVote
        }
      }
    }
  }
}

Отправьте запрос, результат должен быть примерно такой:

SubQuery-4

Остановите контейнер:

cd $HOME/tutorials-council-proposals
docker-compose stop

Exercise 3

Выполните команды:

cd $HOME
git clone https://github.com/subquery/tutorials-account-transfer-reverse-lookups.git
cd tutorials-account-transfer-reverse-lookups
yarn
yarn codegen
yarn build
docker-compose pull
docker-compose up -d

Дождитесь пока все загрузится и нода синхронизирует несколько блоков (обычно это несколько минут), после чего введите команду:

echo "http://"$(curl -s ifconfig.me)":3000"

Перейдите по появившейся в консоли ссылке, вам должна открыться панель GraphQL.

В появившейся панели вводите следующий запрос:

query{
  accounts(first:5){
    nodes{
      id
      myToAddress{
        nodes{
          id
          amount
        }
      }
    }
  }
}

Отправьте запрос, результат должен быть примерно такой:

SubQuery-5

Остановите контейнер:

cd $HOME/tutorials-account-transfer-reverse-lookups
docker-compose stop

Module 4

Exercise 1

Выполните команды:

cd $HOME
git clone https://github.com/subquery/tutorials-simple-aggregation.git
cd tutorials-simple-aggregation
yarn
yarn codegen
yarn build
docker-compose pull
docker-compose up -d

Дождитесь пока все загрузится и нода синхронизирует несколько блоков (обычно это несколько минут), после чего введите команду:

echo "http://"$(curl -s ifconfig.me)":3000"

Перейдите по появившейся в консоли ссылке, вам должна открыться панель GraphQL.

В появившейся панели вводите следующий запрос:

query {
  sumRewards(first: 10) {
    nodes {
      id
      accountReward
      createdAt
      blockheight
    }
  }
}

Отправьте запрос, результат должен быть примерно такой:

SubQuery-6

Отправьте еще один запрос с указанием конкретного адреса:

query {
  sumRewards(
    first: 10
    filter: {
      id: { equalTo: "1122SWicp7esoyo1h2jjzKbSiQ4j18XP6fd98DSFgVjERQyC" }
    }
  ) {
    nodes {
      id
      accountReward
      createdAt
      blockheight
    }
  }
}

Отправьте запрос, результат должен быть примерно такой:

SubQuery-7

Остановите контейнер:

cd $HOME/tutorials-simple-aggregation
docker-compose stop

Module 5

В данном модуле нужно опубликовать свой проект в SubQuery Explorer.

Перейдите сюда и войдите через GitHub:

SubQuery-8

SubQuery-9

В поле GitHub repository укажите ваш репозиторий из первого модуля:

SubQuery-10

SubQuery-11

Затем перейдите в SubQuery Explorer:

SubQuery-12

Отправьте запрос:

SubQuery-13

Удалите проект:

SubQuery-14

В данный момент это все доступные задания.

Stuck? Ask!

By continuing to use our website, you consent to our use of cookies in accordance with our cookie policy