Перейти к основному содержанию
Это руководство содержит подробные шаги для настройки и использования Tenderly Virtual Environments вместе с The Graph. Чтобы использовать The Graph с Virtual Environments, вам нужно запустить собственную Graph-ноду. Если вы разворачиваете dapp в стейджинге, инстанс The Graph нужно будет разместить у выбранного вами облачного провайдера.

Предварительные условия

Убедитесь, что в вашей системе установлено следующее:
  • Node.js и npm
  • Docker
  • Аккаунт Tenderly
  • RPC Virtual Environment
  • Смарт-контракт, задеплоенный в Virtual Environment с помощью Hardhat или Foundry

Настройка The Graph

1
Установите Graph CLI глобально
2
Установите Graph CLI глобально в вашей системе с помощью npm:
3
npm install -g @graphprotocol/graph-cli
4
Подробности см. в официальной документации Graph CLI.
5
Настройте проект The Graph
6
В директории вашего проекта инициализируйте проект The Graph.
7
Замечания:
8
  • Настройте --abi, чтобы указывать на ABI контракта в вашей локальной системе
  • Измените --contract-name и --from-contract на имя и адрес контракта соответственно
  • Задайте --start-block
  • Измените --network так, чтобы оно ссылалось на сеть, на основе которой создана ваша Virtual Environment (например, mainnet, base и т. д.).
  • 9
    Мы рекомендуем, чтобы network совпадало с именем оригинальной сети, без приставки virtual_. Это обеспечивает лёгкое переключение RPC при развёртывании в разных окружениях стейджинга и демо.
    10
    graph init your-subgraph-name subgraph-dir \
    --protocol ethereum \
    --studio \
    --abi path/to/abi/ERC20Token.json \
    --contract-name ERC20TokenFactory \
    --from-contract 0x7F2Fa32C991fD2F8dF3EB23C394f550376e9b30d \
    --start-block 0 \
    --network mainnet
    
    11

    Документация по инициализации The Graph

    12
    Обновите docker-compose.yml
    13
    Отредактируйте файл docker-compose.yml (ниже) и обновите environment.ethereum так, чтобы он указывал на RPC Virtual Environment.
    14
    version: '3'
    services:
      graph-node:
        image: graphprotocol/graph-node
        ports:
          - '8020:8020'
          - '8000:8000'
          - '5001:5001'
        environment:
          postgres_host: postgres
          postgres_user: graph-node
          postgres_pass: let-me-in
          postgres_db: graph-node
          ipfs: 'ipfs:5001'
          ethereum: 'mainnet:https://virtual.mainnet.rpc.tenderly.co/d0a6...-40..2c-81..0f-a5..90'
    
    15

    Документация Graph Docker

    16
    Запустите Docker Compose локально
    17
    После настройки конфигурации docker-compose выполните:
    18
    docker-compose up
    
    19
    Создайте и задеплойте ваш subgraph
    20
    Выполните следующие команды, заменив your-subgraph-name на желаемое имя вашего subgraph.
    21
    graph codegen
    graph create --node http://localhost:8020 your-subgraph-name
    graph deploy --node http://localhost:8020 --ipfs http://localhost:5001 your-subgraph-name
    
    22

    Документация по развёртыванию Graph

    23
    Доступ к subgraph
    24
    После развёртывания доступ к вашему subgraph осуществляется по URL ниже. Откройте этот URL в браузере, чтобы получить доступ к subgraph и выполнять запросы:
    25
    Deployed to http://localhost:8000/subgraphs/name/your-subgraph-name
    26

    Документация по запросам к Graph

    27
    Разверните в облаке
    28
    Для стейджинга dapp разверните ноду The Graph у выбранного вами облачного провайдера и подключите UI/бэкенд вашего dapp к этой ноде для выполнения запросов.