Airstack Starter Kit: Costruire una dApp Data-Driven con l’API Web3 definitiva

pigro85
Phala Italia
Published in
5 min readFeb 9, 2024

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

Panoramica

Nell’era del Web2 le applicazioni data-driven sono diventate la pietra miliare delle esperienze digitali, sfruttando grandi quantità di dati degli utenti per offrire contenuti personalizzati, pubblicità mirata e servizi semplificati. Queste applicazioni si basano su database centralizzati che raccolgono, archiviano ed elaborano le informazioni, consentendo alle aziende di prendere decisioni informate e di offrire esperienze utente migliorate. Tuttavia, questo modello centralizzato è accompagnato da un’importante avvertenza: le aziende dietro le applicazioni Web2 mantengono la proprietà e il controllo sui dati degli utenti che raccolgono, sollevando preoccupazioni sulla privacy, sulla portabilità dei dati e sul potenziale uso improprio delle informazioni personali.

Nel passaggio al paradigma decentralizzato del Web3 l’attenzione si sposta sulle dApp (applicazioni decentralizzate) che sfruttano la trasparenza e l’immutabilità della tecnologia blockchain. In questo nuovo panorama la sfida consiste nell’indicizzare e utilizzare efficacemente i dati off-chain per mantenere lo stesso livello di personalizzazione ed efficienza offerto dalle applicazioni Web2. Colmando il divario tra le attività on-chain e il ricco contesto dei dati off-chain, le dApp Web3 sono pronte a ridefinire l’ecosistema dei dati, ma ottenere dati significativi attraverso questo processo non è tutto rose e fiori.

Jason Goldberg, fondatore di Airstack, accenna a queste difficoltà e al modo in cui Airstack affronta il problema: “Costruire in Web3 può sembrare un po’ come assemblare un puzzle, per poi rendersi conto che metà dei pezzi sono sparsi in tavoli diversi. È estremamente dispendioso in termini di tempo e di costi di avviamento e manutenzione. Anche gli sviluppatori di infrastrutture di base devono creare applicazioni cross-chain o cross-protocol. Questo è l’antidolorifico che abbiamo costruito in Airstack: il modo più semplice e veloce per comporre i dati Web3. Perché la disponibilità dei dati non significa nulla se non sono facilmente accessibili dagli sviluppatori che ne hanno più bisogno”.

Costruire in Web3 può sembrare un po’ come assemblare un puzzle, per poi rendersi conto che metà dei pezzi sono sparsi in tavoli diversi. È estremamente dispendioso in termini di tempo e di costi di avviamento e manutenzione. Anche gli sviluppatori di infrastrutture di base devono creare applicazioni cross-chain o cross-protocol. Questo è l’antidolorifico che abbiamo costruito in Airstack: il modo più semplice e veloce per comporre i dati Web3. Perché la disponibilità dei dati non significa nulla se non sono facilmente accessibili dagli sviluppatori che ne hanno più bisogno” — Jason Goldberg, fondatore di Airstack

Oggi siamo orgogliosi di annunciare lo Starter Kit di Airstack. Ora le capacità uniche di Airstack di produrre astrazioni significative per il grafo on-chain di qualsiasi utente possono essere combinate con il Phat Contract di Phala per consentire agli sviluppatori di costruire dApp Web3 su misura per i loro utenti target.

Airstack Starter Kit

Lo Starter Kit di Airstack consente agli utenti di richiedere dati all’API di Airstack per calcolare un punteggio di fiducia/rischio e inviarlo a un consumer contract on-chain. Tuttavia, il codice è minimo e può essere modificato per qualsiasi personalizzazione in base alle esigenze dello sviluppatore.

Come funziona

Il percorso dell’utente può essere visualizzato nel diagramma qui sopra. Alice richiede un “trust score” su Eve al consumer contract sulla catena dell’EVM e la richiesta di azione viene aggiunta alla coda di richiesta. Il Phat Contract esegue il poll() della coda e pop() della nuova richiesta di azione dalla coda per calcolare il punteggio di fiducia per Eve. Una volta recuperati i dati dall’API di Airstack, il punteggio viene calcolato in base ai criteri di valutazione e il risultato viene inviato al consumer contract sulla catena EVM.

Cosa viene distribuito?

Questa implementazione distribuirà solo il lato sinistro del diagramma di cui sopra, nel riquadro verde etichettato come Phala Network. Il programma “Phat Contract 2.0” sarà distribuito su Phala Network e sarà configurato per connettersi al Consumer Contract distribuito sulla chain dell’EVM.

Nota: il Consumer Contract richiederà allo sviluppatore di distribuirlo manualmente fino a quando non sarà supportata la distribuzione del Contratto EVM dall’interfaccia utente di Bricks. Vedere “Requisiti prima della distribuzione” prima di distribuire il Phat Contract di Airstack.

Requisiti prima dell’implementazione

Ci sono un paio di passaggi da completare prima di distribuire il Template Airstack.

  • Creare un profilo Phat Contract 2.0
    - Generare e finanziare un accoun 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 Airstack. Vedere come ottenere una API key. Per impostazione predefinita viene fornita una key rate-limited senza garanzia di servizio in caso di esaurimento del limite

Implementazione del Consumer Contract

Clonare il repository Phat Contract di Airstack.

git clone git@github.com:Phala-Network/airstack-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 (in questo esempio viene distribuito a Polygon Mumbai Testnet). Assicurarsi di salvare l’indirizzo del Consumer Contract per impostarlo successivamente nel Template Airstack distribuito.

npm run test-deploy
# Deploying...
#
# 🎉 Your Consumer Contract has been deployed, check it out here: https://mumbai.polygonscan.com/address/0x10FA409109E073C15b77A8352cB6A89C12CD1605
#
# You also need to set up the consumer contract address in your .env file:
#
# MUMBAI_CONSUMER_CONTRACT_ADDRESS=0x10FA409109E073C15b77A8352cB6A89C12CD1605
#
# Configuring...
# Done
# ✨ Done in 8.20s.

Impostare il secret prima del deploy

Se si è scelto di ottenere una API key da Airstack, la si aggiungerà nella casella dei secret durante la configurazione e la distribuzione del Phat Contract di Airstack.

Esempio:

{
"apiUrl": "https://api.airstack.xyz/gql",
"apiKey": "3a41775a358a4cb99ca9a29c1f6fc486"
}

Dopo la distribuzione del template Airstack

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

npm run test-set-attestor

Eseguire una richiesta di prova

Vedere il lavoro del Phat Contract di Airstack distribuito in azione con un testrequest().

npm run test-push-request

Caratteristiche e vantaggi

Grazie alla possibilità di portare i dati di Airstack on-chain con una logica personalizzata eseguita sui dati, gli sviluppatori possono ora collegare in modo sicuro i dati indicizzati alle loro dApp web3. Le funzionalità e i vantaggi che si possono ottenere sono molteplici.

Ad esempio:

  • Web3 Social
  • Spam Filter
  • Recommendation Engine
  • Trust Score
  • Web3 Social Actions based on data from Airstack’s API
  • Token Gating
  • On-chain Data-Driven Airdrops
  • Airstack Abstractions as dApps
  • Web3 Marketing Technology, 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.