Rent server onSponsored
Подготовка
Воспользуйтесь нашим скриптом для установки всего необходимого для дальнейшей работы:
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
- Откройте docker-compose.yml
- Замените --local на --db-schema=app
Now all should works correctly.
Module 1
Выполните команду:
cd $HOME
subql init --starter hello-world
Все поля можно оставить по-умолчанию (просто нажимать Enter), но нужно заполнить поле Authors. В итоге должно получиться примерно следующее:
Выполните следующие команды:
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
}
}
}
Отправьте запрос, результат должен быть примерно такой:
Залейте вашу папку 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
}
}
}
}
Отправьте запрос, результат должен быть примерно такой:
Остановите контейнер:
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
}
}
}
}
}
Отправьте запрос, результат должен быть примерно такой:
Остановите контейнер:
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
}
}
}
}
}
Отправьте запрос, результат должен быть примерно такой:
Остановите контейнер:
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
}
}
}
Отправьте запрос, результат должен быть примерно такой:
Отправьте еще один запрос с указанием конкретного адреса:
query {
sumRewards(
first: 10
filter: {
id: { equalTo: "1122SWicp7esoyo1h2jjzKbSiQ4j18XP6fd98DSFgVjERQyC" }
}
) {
nodes {
id
accountReward
createdAt
blockheight
}
}
}
Отправьте запрос, результат должен быть примерно такой:
Остановите контейнер:
cd $HOME/tutorials-simple-aggregation
docker-compose stop
Module 5
В данном модуле нужно опубликовать свой проект в SubQuery Explorer.
Перейдите сюда и войдите через GitHub:
В поле GitHub repository укажите ваш репозиторий из первого модуля:
Затем перейдите в SubQuery Explorer:
Отправьте запрос:
Удалите проект:
В данный момент это все доступные задания.