Первое объяснение CSDN Chainlink (оракула): краткое изложение базовых знаний. Что такое оракул. Эта статья поможет вам его проанализировать.
Первое объяснение CSDN Chainlink (оракула): краткое изложение базовых знаний. Что такое оракул. Эта статья поможет вам его проанализировать.

Концепция Oracle

Английское название машины-оракула — Oracle.,То же имя, что и у известного поставщика услуг библиотеки данных Oracle (Oracle).,Но кроме одного и того же имени, они не имеют ничего общего друг с другом. Что означает слово Оракул?,Вот что я делаюvocabulary.comНайдено наOracleзначение:

Back in ancient times, an oracle was someone who offered advice or a prophecy thought to have come directly from a divine source. In modern usage, any good source of information can be called an oracle.

Примерное значение китайского языка: в древние времена.,Оракул – это человек, который дает советы или пророчества.,Считалось, что его советы или пророчества исходили непосредственно от Бога. в современном использовании,Любой хороший источник информации можно назвать оракулом.

источник

Термин «оракул» в компьютерной области впервые предложил Тьюринг. (Да, это тот самый Тьюринг, чей блог называется «Тьюринг возрождается, меня зовут Су Зе», отец компьютеров)

Тьюринг добавил к машине Тьюринга черный ящик, называемый оракулом, чтобы сформировать машину-оракул.

так называемый пророк,даСущность, которая может ответить на определенный набор вопросов. То есть он может вводить информацию в систему машины Тьюринга и помогать машине Тьюринга выполнять операции.

Смарт-контракт Эфириума является «Полным Тьюринга» и в некотором смысле может рассматриваться как машина Тьюринга. Поэтому разработчики Эфириума использовали эту концепцию и превратили ее в диаграмму «Полного Смарт-контракта Тьюринга». информацию еще называют оракулом.

Другими словами, как только вы введете ему информацию, он ответит на соответствующие вопросы.

так,Оракулдасоединятьсмарт-контракти Блокчейнвнешнего мирапромежуточное программное обеспечение,Это важная инфраструктура Блокчейн.,что он делаетдадля Блокчейннасмарт-контракт(Smart Контракт) предоставляет данные.

c22f968f86a44999b9981515dddb7abf.png
c22f968f86a44999b9981515dddb7abf.png

Что такое Chainlink?

прежде чем узнать его мы должны сначала узнать друг друга Гибридный смарт-контракт смарт-контракт Я сказалhttp://t.csdnimg.cn/cbhUm Что Гибридный Что происходит со смарт-контрактом?

Гибридный смарт-контракт

смарт-контракт может быть привязан к реальным рыночным ценам активов,для создания мощных приложений. Безопасное подключение смарт-контракта к данным и сервисам вне сети,сделай ихсмешиваниесмарт-контракт。этотда使用Оракул完成из。

bef9b95e76ed4741a61414442f9c6d23.png
bef9b95e76ed4741a61414442f9c6d23.png
Chainlink использует свою децентрализованную сеть Oracle для соединения смарт-контрактов с внешними данными. Запросы API Chainlink обрабатываются оракулами 1:1.

Другими словами, в Chainlink есть все машины-оракулы, и они лучше упакованы для того, чтобы мы могли их использовать.

Понимание архитектуры Chainlink

052b28259e7f4a44a1660f5cbf5a54a2.png
052b28259e7f4a44a1660f5cbf5a54a2.png
  1. Во-первых, Chainlink Подключите смарт-контракт к внешним данным, используя его децентрализованную сеть Oracle. Каждое звено цепи Запросы API обрабатываются оракулом.
  2. Затем он объединит данные оракулов по нескольким аспектам. Благодаря агрегации в цепочке данные начинаются с децентрализованного Независимая сеть оракулов узел. Эта архитектура применяется к Chainlink. Data Feeds , чтобы данные о ценах на активы и другие данные можно было агрегировать.
e66f27643a1c4de482117f95b67927f7.png
e66f27643a1c4de482117f95b67927f7.png

В книге «Matering Ethereum» предложены три шаблона проектирования оракул-машин, а именно:

  • Немедленное чтение
  • Публикация/подписка (публикация-подписка)
  • Запрос/Ответ(request–response)

Функция оракула, дополненная токеном И ПО ССЫЛКЕ ERC677,Принадлежит к этомуЗапрос/Ответмодель。этотда一种较для复杂измодель,На рисунке выше показан простой процесс запроса/ответа без процесса агрегации.

236dad547bda4e85bce20995786135c9.png
236dad547bda4e85bce20995786135c9.png

Как использовать?

Прежде чем узнать, как его использовать, мы должны сначала знать, как его развернуть.

развертыватьсмарт-контракт это процесс отправки кода в блокчейн ,На данный момент он находится по адресу в цепочке. После развертывания,Код не может быть изменен,и называетсянеизменный

Просто знай адрес,Доступ к его функциям можно получить через интерфейс、существоватьEtherscanна или черезweb3jsweb3pyethersЖдите звонка из библиотеки。договор Это также можно записать каки Блокчейннадругойдоговорвзаимодействие。

Как смарт-контракты используют оракулы?

ac4f6f37b9e84171ab8972b85f62302c.png
ac4f6f37b9e84171ab8972b85f62302c.png
  1. Развертывание контракта Oracle Chainlink: во-первых, вам необходимо разместить контракт Oracle Chainlink на Блокчейн. Этот контракт будет отвечать за связь с источником данных вне сети и доставку данных в смарт-контракт.
  2. Настройте контракт оракула. ​​После развертывания контракта оракула вам необходимо настроить его соединение с источником данных вне сети. Сюда входит настройка адреса источника данных, ключа API и другой информации, чтобы оракул мог правильно получать данные.
  3. пишетсмарт-контракт: В смарт-контракте вам необходимо ввести контракт оракула Chainlink (аналогично введению зависимостей в Java и введению библиотек в Python) и определить функцию для вызова оракула для получения данных. Эта функция будет использовать интерфейс, предоставляемый контрактом Oracle, для запроса данных и возврата данных в смарт-контракт.
  4. Обработка возвращенных данных: Как только оракул получит данные, он вернет их в смарт-контракт через функцию обратного вызова. смарт-контракт может обрабатывать данные в функции обратного вызова, например, проверять достоверность данных, обновлять статус контракта и т. д.

Remix

RemixдаодинсетьIDE(интегрированная среда разработки) То есть Вы вбиваете код (там где написан договор)

Используется для создания, запуска и отладки смарт-контрактов в браузере. Он разработан и поддерживается Ethereum Foundation. Remix позволяет разработчикам Solidity писать смарт-контракты без машины для разработки, поскольку все необходимое включено в веб-интерфейс. Он упрощает взаимодействие с развернутыми контрактами и не требует интерфейса командной строки. Remix также поддерживает образцы контрактов. Это означает, что Remix может загружать код с Github.

c385afd629c8407a89dc097c6a4468d2.png
c385afd629c8407a89dc097c6a4468d2.png

FISCO BICOS

FISCO BCOS — это платформа с открытым исходным кодом, основанная на технологии блокчейна, которую можно использовать для создания блокчейн-приложений корпоративного уровня.

32e64737dd624141ac2edf427ea45f8a.png
32e64737dd624141ac2edf427ea45f8a.png

Возможности FISCO BCOS:

  1. смарт-контракт:FISCO BCOS поддерживает писательсмарт-контракт, автоматический контракт, исполняемый на Блокчейне. Вы можете использовать язык программирования, например Solidity, написатьсмарт-контракт, а затем развернуть его в FISCO. BCOSсетьсередина.
  2. Хранение данных в сети: FISCO BCOSОбеспечивает функциональность распределенного хранилища.,данные могут храниться на Блокчейн,Обеспечьте неизменность и прозрачность данных.
  3. Обработка транзакций: FISCO BCOS поддерживает обработку транзакций с высоким уровнем параллелизма и может удовлетворить потребности приложений уровня предприятия.
  4. Аутентификация личности: FISCO BCOS предоставляет функции аутентификации личности для обеспечения безопасности личности и доверия всех сторон, участвующих в Блокчейнсеть.
  5. Защита конфиденциальности: ФИСКО BCOS поддерживает функции защиты конфиденциальности.,Транзакции и транзакции могут быть зашифрованы и защищены конфиденциальности.,Убедитесь, что конфиденциальная информация не разглашается.
a74694de0c264f41bf5448b30d39e764.png
a74694de0c264f41bf5448b30d39e764.png

Как выбрать

FISCO BCOS и Remix — это два инструмента, связанных с разработкой смарт-контрактов. Их выбор и использование описаны ниже.

FISCO BCOS — это сетевая платформа консорциума.,Он поддерживает Solidity как язык разработки смарт-контрактов. Solidity — язык программирования, разработанный для платформы Блокчейн.,Имеет широкий охват и поддержку сообщества。если тебе нужноСоздайте проект корпоративного уровня напрямую или у вас уже есть несколько проектов. Вам необходимо интегрировать блокчейн,Что Как выбрать вариант использованияFISCO BCOS — хороший выбор в качестве блокчейн-платформы.

Remix — это онлайн-интегрированная среда разработки (IDE) Solidity.,Он обеспечивает функции написания, компиляции, развертывания и отладки смарт-контракта. от Ремикса,ты можешьПишите и тестируйте смарт-контракты прямо в браузере без установки какой-либо среды разработки.。если ты хочешьНачинайте быстроSolidityи продолжайтесмарт-контрактразвитие итест,Ремикс – отличный вариант.

Как контракты связаны с реальностью

Контракты можно писать и тестировать на Remix или FISCO BICOS, но как заставить контракт взаимодействовать с проектом?

Пример использования Solidity для внедрения Chainlink и использования его API для запроса реальной информации, такой как запрос погоды (конечно, реальная задача, вероятно, заключается в запросе рыночной стоимости определенной валюты, и это не так уж и скучно, вот только простой пример):

  1. Создайте проект Truffle:
    • Откройте терминал и создайте новую папку,НапримерMyChainlinkWeather
    • Зайдите в эту папку и запуститеtruffle initкоманда для инициализацииTruffleпроект。
  2. Установите библиотеку разработки Chainlink:
    • Перейдите в папку проекта в терминале,и бежатьnpm install @chainlink/contracts --saveкоманда для установкиChainlinkБиблиотека разработки。
  3. Создать пользовательский контракт:

существоватьпроектизcontractsОглавлениесередина创建один新изSolidityконтрактные документы,НапримерWeatherContract.sol

Импортируйте библиотеки и контракты, связанные с Chainlink, в файл контракта.

Язык кода:javascript
копировать
pragma solidity ^0.8.0;

import "@chainlink/contracts/src/v0.8/ChainlinkClient.sol";
import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";

Создать контракт,Унаследовано отChainlinkClientдоговор,И установите конструктор:

Язык кода:javascript
копировать
contract WeatherContract is ChainlinkClient {
    address private oracle;
    bytes32 private jobId;
    uint256 private fee;
    string public weather;

    constructor() {
        setPublicChainlinkToken();
        oracle = 0x0000000000000000000000000000000000000000; // Настройте Chainlink по вашему выбору адрес Oracle
        jobId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; // Настройте работу по вашему выбору ID
        fee = 0.1 * 10 ** 18; // Установите комиссию за LINK, которую вы готовы заплатить.
    }
}
  • Напишите функцию для получения погоды
Язык кода:javascript
копировать
function requestWeather() public {
    Chainlink.Request memory request = buildChainlinkRequest(jobId, address(this), this.fulfill.selector);
    request.add("url", "https://api.weatherapi.com/v1/current.json?key=YOUR_API_KEY&q=YOUR_LOCATION");
    request.add("path", "current.condition.text");
    sendChainlinkRequestTo(oracle, request, fee);
}

function fulfill(bytes32 _requestId, bytes32 _weather) public recordChainlinkFulfillment(_requestId) {
    weather = bytes32ToString(_weather);
}

function bytes32ToString(bytes32 _bytes32) private pure returns (string memory) {
    bytes memory bytesArray = new bytes(32);
    for (uint256 i; i < 32; i++) {
        bytesArray[i] = _bytes32[i];
    }
    return string(bytesArray);
}
  • развертывание контракта в сети Ethereum:
    • Настройка сетевых настроек Truffle,Например, «Ропстентестсет».
    • бегатьtruffle migrate --network ropstenКоманда будетдоговорразвертыватьприезжатьRopstenтестсеть。
  • Позвоните в контракт, чтобы получить информацию о погоде:
    • В консоли Truffle или с помощью такого инструмента, как Web3.js.,вызовдоговоризrequestWeatherфункция инициированияChainlinkЗапросить и получить информацию о погоде。

Кроме того, если вы хотите объединить данные в цепочке с вашим проектом, вам может потребоваться использовать FISCO BICOS и использовать его SDK.

Позже мы подробно объясним солидность (основной популярный язык написания смарт-контрактов), использование FISCO BICOS и практические примеры стыковки конкретных проектов.

Пожалуйста, с нетерпением ждите этого. Пожалуйста, поддержите меня три раза~

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.