Внедрение агрегатора каналов по цепочке

#blockchain #ethereum #solidity #chainlink

Вопрос:

Я пытаюсь реализовать агрегатор каналов chainlink точно так же, как для ETH и других ценовых каналов, предоставляемых chainlink.

Я нашел этот FluxAggregator в версии 0.6, но в настоящее время chainlink имеет версию 0.8, а в 0.8 нет FluxAggregator. https://github.com/smartcontractkit/chainlink/blob/develop/contracts/src/v0.6/FluxAggregator.sol

Также я нашел это репозиторий FeedRegistry https://github.com/smartcontractkit/feed-registry Это репо имеет контракт FeedRegistry.sol, который реализует интерфейс aggregatorv2v3.sol’ из версии 0.7 chainlink.

Итак, все перепутано, и я не уверен, какой правильный путь искать для реализации агрегатора

Ответ №1:

Текущая версия используемой агрегации называется «OCR» или «Автономная отчетность». FluxAggregator был предыдущим методом агрегации. Код и контракты для распознавания текста можно найти в этом репозитории:

https://github.com/smartcontractkit/libocr

Запуск собственных каналов официально еще не поддерживается (над этим ведется работа), поэтому нет никакой документации, но можно запустить свой собственный канал, используя этот код, если вам действительно нужно. Вы также можете объединить пару запросов «Chainlink AnyAPI» в своем контракте для имитации канала.

Если это для хакатона (или просто для демонстрации вашего приложения), и нет существующего канала данных для нужных вам данных, я бы предложил использовать функцию «AnyAPI» и один узел Chainlink, чтобы вы могли сосредоточиться на своем приложении, а не на создании сети oracle. Как только придет время переходить к производству / основной сети, команда Chainlink Labs может помочь вам в создании децентрализованной сети oracle. Вы можете связаться с ними здесь, на веб-сайте Chainlink.

Ссылка: Блог объявлений OCR

Комментарии:

1. Спасибо. На самом деле, я пытаюсь настроить несколько узлов (для разных типов данных, а не для цен на криптовалюту) с их соответствующими оракулами, а затем настроить агрегатор, который будет агрегировать результаты так же, как это делает chianlink для цен. Итак, прежде всего, правильная ли стратегия создания ленты, подобной настройке, для другого типа информации? И, во-вторых, я иду в правильном направлении или должен использовать что-то еще, предоставляемое chainlink

2. Официальные каналы Chainlink, на которые я ссылался выше, немного сложнее, чем дизайн, который вы перечисляете, но вы, безусловно, можете это сделать (это то, о чем я говорил во 2-м абзаце моего ответа). Если это или хакатон (или просто демонстрация вашего приложения), и нет существующего канала данных для нужных вам данных, я бы предложил использовать функцию «AnyAPI» и один узел цепочки. Как только придет время переходить к mainnet, команда Chainlink Labs может помочь вам в создании децентрализованной сети oracle. Вы можете связаться с ними здесь: chain.link/data-feeds

3. Спасибо. Да, на данный момент это для хакатона, но потребуется правильная настройка для основной сети