Индексируйте будущие сгенерированные контракты с помощью TheGraph

У меня есть контракт эфириума, который называется:

      tokenFactory.sol

Этот контракт генерирует токены ERC20 по мере его выполнения, и когда он это делает, он генерирует событие и имеет сгенерированный адрес ERC20.

Я хотел бы пойти, а затем проиндексировать Transferсобытие этих сгенерированных токен-контрактов. Есть ли способ сделать это программно с помощью Subgraph?

2 ответа

Вы определите эти события, контракты и обработчики вtemplatesключ в манифесте. Это какdataSourcesза исключением того, что нет адреса и начального блока, потому что они еще не были развернуты.

Когда вы получите сообщение о том, что этот контракт был развернут или его необходимо проиндексировать, вы создадите его, используя сгенерированный шаблон.

      import { Token } from '../../generated/templates';

...
export function handleToken(event: TokenEvent): void {
  const tokenAddress = event.params.token;
  Token.create(tokenAddress);
...
}

документы

Да, ты можешь.

Если вам нужно что-то простое, возможно, ознакомьтесь с кодом автогенерации OpenZepelling: https://docs.openzeppelin.com/subgraphs/0.1.x/

также вы можете проверить этот базовый подграф erc.20 https://github.com/graphprotocol/erc20-subgraph

Другие вопросы по тегам