@mashincode

Как получить список новых смарт конрактов?

Я не совсем в теме смарт-контрактов, но мой старый клиент попросил меня сделать функцию которая будет уведомлять его о новых смарт контрактах в сети етереум, каким образом можно получить такую информацию используя web3py или какие нибудь api.
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ответы на вопрос 2
EvgenyMamonov
@EvgenyMamonov
Senior software developer, system architect
Я с такой задачей еще не сталкивался, но вижу, что пока вообще никто не ответил.
Постараюсь помочь.

С уверенностью можно сказать то, что "копать" нужно в сторону анализа транзакций.

Транзакция в результате которой был создан смарт-контракт выглядит вот так
https://ropsten.etherscan.io/tx/0x5aa752d86932b36e...

Обратите внимание на поле "To"
614f96bae07ca718175271.png

Не исключаю, что если правильно декодировать поле "Input Data" - также можно получить информацию о том, что в этой транзакции должен создаться смарт-контракт.
614f9716b7e63008558709.png
Т.е. определить, что в результате этой транзакции создаётся смарт-контракт и после этого взять его адрес из поля To.

Знаю три варианта, которые можно рассмотреть для поиска решения:

1) https://docs.etherscan.io/, это бесплатное API от Ethereum (то, что на скриншотах).

2) https://infura.io, там, при помощи библиотек от эфира github.com/ethereum/go-ethereum я вычитывал транзакции и декодировал input data. Также там можно делать подписки.

3) можно попробовать поставить ноду эфира к себе на сервер и библиотеками эфира подключаться уже к ней, вместо infura.io и анализировать логи. Этот вариант имеет смысл только если вам не подходит ни etherscan.io, ни infura.io

Надеюсь это вам поможет.
Ответ написан
Комментировать
@rPman
Есть опенсорс проект https://github.com/blockchain-etl набор утилит по анализу блокчейн транзакций, скорее всего там решение есть
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы