Lo Starter Kit di The Graph: Un flusso di dati nativo Web3 per Smart Contract basati sui dati

pigro85
Phala Italia
Published in
4 min readJan 31, 2024

Articolo originale: https://phala.network/posts/the-graph-starter-kit

Panoramica

Nell’articolo di Four Pillars, From Silos to Synergy: The Significance of Data Pipeline in Web3, si riassume l’importanza di un flusso di dati Web3 nativo come “[I flussi di dati Web3 nativi] possono essere utilizzati per distribuire in modo sicuro ed efficace dati affidabili a più entità, il che può portare all’estrazione di preziose informazioni”. Nell’attuale stack di sviluppo Web3, i dati significativi indicizzati dai sottografi di The Graph sono lasciati in un limbo off-chain. Ciò significa che esiste una miniera d’oro di dati che richiede un flusso di distribuzione sicuro e affidabile per essere consumato sulla chain. Tuttavia, la maggior parte delle soluzioni odierne scarica questa parte fondamentale del proprio stack Web3 su servizi centralizzati tramite server self-hosted o cloud provider.

“[I flussi di dati Web3 nativi] possono essere utilizzati per distribuire in modo sicuro ed efficace dati affidabili a più entità, il che può portare all’estrazione di preziose informazioni.” — Four Pillars

Oggi annunciamo un nuovo paradigma nell’estrazione di informazioni preziose attraverso un flusso di dati nativo Web3 alimentato dalle soluzioni DePIN (Decentralized Physical Infrastructure Networks) di The Graph e Phala Network. Benvenuti nel futuro dei Data-Driven Smart Contracts.

Lo starter kit di The Graph

Caratteristiche principali

  • Richiesta di dati significativi on-chain da parte di un Consumer Contract da qualsiasi EVM chain
  • Prendere decisioni guidate dai dati con Phat Contract:
    – Accesso a più sottografi di dati indicizzati tramite richieste Phat Contract HTTPS
    – Eseguire il parsing e la trasformazione dei dati significativi scrivendo TypeScript/JavaScript
    – Restituire in modo affidabile i dati preziosi necessari all’EVM Consumer Contract per prendere decisioni informate per le dApp on-chain
  • Garanzie di sicurezza e privacy di default con il Phat Contract di Phala Network

Cosa c’è sotto il cofano?

Architettura

Il The Graph Starter Kit è costruito utilizzando Phat Contract 2.0 per collegare i sottografi distribuiti da The Graph tramite richieste HTTPS. Uno sviluppatore deve distribuire un Consumer Contract su una chain EVM e collegare il proprio Phat Contract distribuito al Consumer Contract. Il Consumer Contract implementerà il PhatRollupAnchor.sol per consentire agli utenti di richiedere (1) dati off-chain e spingere una richiesta di azione (_pushMessage(abi.encode(params)) a una coda di azione che viene interrogata (2) dal Phat Contract collegato. Il Phat Contract preleverà (3) l’azione dalla coda e interrogherà (4) i dati significativi indicizzati dai sottografi off-chain tramite richieste HTTPS. I dati restituiti saranno restituiti con una logica personalizzata scritta in TypeScript/JavaScript e il Phat Contract codificherà la risposta dell’azione da restituire on-chain (5) al Consumer Contract. Il Consumer Contract sull’EVM sarà in grado di prendere una decisione guidata dai dati in base ai risultati decodificati nella funzione implementata _onMessageReceive() con l’opzione di cambiare lo stato di conservazione del contract (6).

Requisiti

Ci sono alcuni passaggi da completare prima di distribuire il template di The Graph.

  • Creare un Profilo Phat Contract 2.0
    – Generare e finanziare un account EVM per la chain di destinazione in cui si intende distribuire il Consumer Contract
  • Distribuire il Consumer Contract (il lato destro del diagramma precedente) su una chain EVM che si collegherà al Phat Contract distribuito
  • (Facoltativo) Creare una API Key da The Graph. Vedere come ottenere una API Key qui. Per impostazione predefinita, viene fornita una key rate-limited senza garanzia di servizio in caso di esaurimento del limite.

Implementare il Consumer Contract

Clonare The Graph Phat Contract repo.

git clone git@github.com:Phala-Network/the-graph-phat-contract.git

Installare le dipendenze dopo aver fatto cd nella directory.

npm install

Configurare il file .env con le informazioni necessarie, quindi distribuire il Consumer Contract sulla chain di destinazione (questo esempio distribuisce a Polygon Mumbai Testnet). Assicurarsi di salvare l’indirizzo del Consumer Contract per impostarlo successivamente nella dashboard dell’interfaccia utente di Phat Contract 2.0 per il template di The Graph.

npm run test-deploy
# You also need to set up the consumer contract address in your .env file:
#
# MUMBAI_CONSUMER_CONTRACT_ADDRESS=0x10FA409109E073C15b77A8352cB6A89C12CD1605
# ✨ Done in 8.20s.

Impostare i secret prima del deployment

Se si è scelto di ottenere una API key da The Graph, la si aggiungerà nella casella dei secret durante la configurazione ed il deploy del Phat Contract di The Graph.

Esempio:

{
"apiUrl": "https://gateway.thegraph.com/api/",
"apiKey": "cd22a01ddcbe5b7f9828c52af03ee79"
}

Dopo la distribuzione del template di The Graph

Dopo aver distribuito The Graph Phat Contract, ci sarà un passaggio finale per impostare l’ATTESTOR_ROLE nel Consumer Contract. Questo può essere fatto impostando il MUMBAI_PHALA_ORACLE_ATTESTOR nel file .env all’indirizzo dell’attestatore nella dashboard del Phat Contract distribuito per il template di The Graph. Quindi si eseguirà il comando.

npm run test-set-attestor

Eseguire una richiesta di test

Vedere in azione il Phat Contract implementato per The Graph con un test request().

npm run test-push-request

Caratteristiche e Vantaggi

Con la possibilità di collegare dati significativi on-chain da The Graph , questo template di Phat Contract consente agli sviluppatori di prendere decisioni informate on-chain per creare dApp di valore attraverso DePIN. Le funzionalità e i vantaggi che possono essere realizzati sono molteplici, ad esempio:

  • On-chain Trust Score
  • Automated Rule-Based Decision Making System
  • Spam Filters for Web3 Social
  • Fraud Detection
  • Copy Trading
  • Dynamic NFTs based on Indexed Data
  • Conditional Transactions, etc.

Risorse

A proposito di Phala

Phala Network è un cloud decentralizzato che offre un’elaborazione sicura e scalabile per il Web3.
Con Phat Contracts, un modello di programmazione innovativo che consente di effettuare calcoli trustless off-chain, gli sviluppatori possono creare nuovi casi d’uso del Web3.

Subscribe | Twitter | Youtube | Github | Discord | Forum | Telegram

--

--

pigro85
Phala Italia

Passionate about retro gaming and blockchain. I feel like a digital nomad.