Dieses technische Dokument führt Entwickler durch den detaillierten Prozess der Integration von #RedStone Oracles in eine dezentrale Anwendung.

Dieses Dokument behandelt die Einrichtungs-, Integrations- und Testphasen und stellt sicher, dass Entwickler diese Funktionen in ihren DApps nutzen können.

1. Einleitung

RedStone Oracles bieten eine dezentrale Lösung für den Zugriff auf Echtzeitdaten innerhalb von Blockchain-Anwendungen. Sie nutzen ein Netzwerk von Datenanbietern und die Arweave-Blockchain zur Datenspeicherung und gewährleisten so sowohl Integrität als auch Dauerhaftigkeit. In diesem Handbuch werden die erforderlichen Schritte zur Integration dieser Oracles detailliert beschrieben, von der Erstinstallation bis hin zu erweiterten Anpassungen und Tests.

Quelle: RedStone Oracles

2. Einrichtungsvoraussetzungen

Stellen Sie vor dem Starten des Integrationsprozesses sicher, dass die folgenden Voraussetzungen erfüllt sind:

  • Node.js und npm sind auf Ihrem Entwicklungscomputer installiert.

  • Grundlegende Kenntnisse von Solidity und Smart Contracts.

  • Vertrautheit mit JavaScript und #Ethereum Entwicklungstools wie Hardhat oder Foundry.

3. Installation

  • Installation des Knotenpakets:

    npm installiere @redstone-finance/evm-connector

  • Gießerei-Setup:
    Foundry-Benutzer müssen Abhängigkeiten über Git-Untermodule installieren:

    Forge installieren Redstone-Finance/Redstone-Oracles-Monorepo
    Forge installiert OpenZeppelin/openzeppelin-contracts@v4.9.5

  • Aktualisieren von Neuzuordnungen in Foundry:
    Fügen Sie Pfade zur Datei „remappings.txt“ hinzu:

    echo "@redstone-finance/evm-connector/dist/contracts/=lib/redstone-oracles-monorepo/packages/evm-connector/contracts/
    @openzeppelin/contracts=lib/openzeppelin-contracts/contracts/" >> remappings.txt

4. Smart Contract Integration

Quelle: RedStone Oracles
  • Von Basisverträgen erben:
    Ihr Vertrag sollte auf einem der Basisverträge von RedStone basieren, um Oracle-Daten nutzen zu können:

    importiere "@redstone-finance/evm-connector/contracts/data-services/MainDemoConsumerBase.sol";

    Vertrag IhrVertragsname erweitert MainDemoConsumerBase {
    // Zusätzlicher Vertragscode hier
    }

  • Daten abrufen:
    Implementieren Sie Funktionen zum Abrufen und Verarbeiten von Oracle-Daten in Ihrem Vertrag:

    Funktion fetchOracleData(bytes32 dataIdentifier) ​​public gibt (uint256) zurück {
    uint256 Datenwert = getOracleNumericValueFromTxMsg(Datenkennung);
    Datenwert zurückgeben;
    }

5. Front-End-Integration

  • Einrichten des Ethers.js-Wrappers:
    Integrieren Sie den RedStone EVM-Connector mit ethers.js, um mit dem Smart Contract zu interagieren:

    const { WrapperBuilder } = erfordern("@redstone-finance/evm-connector");
    const ethers = erfordern("ethers");

    let provider = neuer ethers.providers.JsonRpcProvider();
    let Vertrag = neue Ether.Vertrag (Vertragsadresse, Vertrags-ABI, Anbieter);

    let wrappedContract = WrapperBuilder.wrap(Vertrag).usingDataService({
    Datenfeeds: ["ETH", "BTC"]
    });

Quelle: RedStone Oracles
  • Interaktion mit Verträgen:
    Verwenden Sie den gepackten Vertrag, um Funktionen wie gewohnt aufzurufen:

    asynchrone Funktion callContractFunction() {
    let result = warte auf wrappedContract.fetchOracleData("ETH");
    console.log(`Oracle-Daten: ${result}`);
    }

6. Testen und Bereitstellen

  • Schutzhelmprüfung:
    Verwenden Sie Hardhat, um Interaktionen zu simulieren und die Reaktion des Vertrags auf Oracle-Daten zu testen:

    const { erwarten } = erfordern ("chai");

    beschreiben("Oracle Integration Tests", Funktion () {
    it("sollte Oracle-Daten korrekt abrufen", async function () {
    const data = warte auf wrappedContract.fetchOracleData("ETH");
    erwarte, dass (Daten) eine ('Zahl') sind;
    });
    });

  • Einsatz:
    Stellen Sie Ihre Verträge nach gründlichen Tests in einem Live-Netzwerk bereit:

    Trüffel migrieren - Netzwerk-Mainnet

7. Fazit

Durch die Integration von RedStone Oracles in Ihre DApp wird deren Fähigkeit, effizient und sicher mit Echtzeitdaten zu interagieren, erheblich verbessert. Indem Entwickler dieser Schritt-für-Schritt-Anleitung folgen, können sie eine robuste Integration sicherstellen und die fortschrittlichen Blockchain-basierten Oracle-Lösungen von RedStone zum Start dezentraler Anwendungen nutzen.

$ETH