Δημιουργία Υπογράφων με το Subgraph Studio

Ακολουθήστε αυτόν τον οδηγό για τη χρήση του Subgraph Studio για τη δημιουργία και τη δημοσίευση Υπογράφων στο αποκεντρωμένο δίκτυο.

Οι υπογράφοι αποτελούν βασικό συστατικό του The Graph. Επιτρέπουν σε οποιονδήποτε προγραμματιστή να δημιουργήσει και να αναπτύξει λειτουργικά και ανιχνεύσιμα API με ευρετηριασμένα δεδομένα από αποκεντρωμένα δίκτυα όπως τα Ethereum, IPFS και άλλα blockchains. Οι προγραμματιστές Υπογράφων καθορίζουν ποια δεδομένα θα ευρετηριαστούν από το blockchain και πώς θα αποθηκευτούν και θα διατεθούν μέσω ενός επιπέδου API. Πολλές εφαρμογές δημιουργούν και χρησιμοποιούν υπογράφους για να τροφοδοτούν τις εφαρμογές παραγωγής τους.

Το Subgraph Studio, που κυκλοφόρησε σήμερα, δίνει τη δυνατότητα στους προγραμματιστές να αναπτύξουν και να επιμεληθούν υπογράφους χωρίς να χρειάζονται άδεια για να κερδίσουν τέλη ερωτήματος! Η Επιμέλεια στο The Graph είναι μία από τις πρώτες αγορές επιμέλειας που κυκλοφόρησαν στο Ethereum σε αυτήν την κλίμακα.

Σε αυτόν τον οδηγό θα μάθετε πώς να δημιουργείτε τον πρώτο σας υπογράφο χρησιμοποιώντας το Graph CLI και το Subgraph Studio. Ο υπογράφος που θα δημιουργήσετε θα είναι για ευρετηρίαση και ερώτηση για δεδομένα από το έξυπνο συμβόλαιο Zora. Η Zora είναι μια αγορά NFT. Η Zora έχει έναν ιστότοπο προγραμματιστή που έχει συνδέσμους προς τη διεύθυνση έξυπνων συμβολαίων καθώς και έναν επίσημο υπογράφο.

Θα μάθετε πώς να δημιουργείτε, να δοκιμάζετε και να δημοσιεύετε έναν παρόμοιο υπογράφο με το αποκεντρωμένο δίκτυο του The Graph ευρετηριάζοντας δεδομένα από το έξυπνο συμβόλαιο Zora.

Προαπαιτούμενα

Για να επιτύχετε σε αυτό το σεμινάριο, θα πρέπει να έχετε τα εξής:

  1. Node.js εγκατεστημένο στο μηχάνημά σας

  2. Πορτοφόλι Metamask

Ξεκινώντας

Για να ξεκινήσετε, επισκεφθείτε το Subgraph Studio στη διεύθυνση https://thegraph.com/studio.

Εδώ, κάντε κλικ στην επιλογή Σύνδεση Πορτοφολιού και επιλέξτε μια διεύθυνση πορτοφολιού για έλεγχο ταυτότητας. Αφού επαληθεύσετε την πιστοποίηση, αφού ολοκληρώσετε την πιστοποίηση θα πρέπει να μπορείτε να κάνετε κλικ στο Δημιουργία Υπογράφου για να δημιουργήσετε έναν νέο υπογράφο.

Εδώ, δώστε ένα όνομα στον υπογράφο και κάντε κλικ στο Συνέχεια.

Στη συνέχεια, θα δείτε μια προβολή του υπογράφου που σας επιτρέπει να προσθέσετε προαιρετικά μεταδεδομένα, όπως την περιγραφή και την εικόνα του υπογράφου, καθώς και να δείτε μερικές χρήσιμες πληροφορίες, όπως το πλήκτρο ανάπτυξης, ταυτότητα (slug) και την κατάσταση του υπογράφου.

Τώρα που το έργο του υπογράφου σας έχει δημιουργηθεί στο Studio, μπορείτε να συνεχίσετε πηγαίνοντας στο τοπικό περιβάλλον ανάπτυξης και ανοίγοντας το τερματικό σας.

Στη συνέχεια, αλλάξτε σε ή δημιουργήστε έναν κενό κατάλογο και εγκαταστήστε το Graph CLI χρησιμοποιώντας NPM:

npm install -g @graphprotocol/graph-cli

Μόλις εγκατασταθεί το Graph CLI, μπορείτε να προετοιμάσετε έναν νέο υπογράφο με την εντολή Graph CLI init:

graph init --contract-name Token \ 
--index-events \ 
--product subgraph-studio \ 
--from-contract 0xabEFBc9fD2F806065b4f3C237d4b59D9A97Bcac7

Στη συνέχεια, θα σας υποδειχθούν τα εξής:

  • Όνομα υπογράφου

  • Κατάλογος για τη δημιουργία του υπογράφου στο

  • Δίκτυο Ethereum mainnet

  • Διεύθυνση συμβολαίου 0xabEFBc9fD2F806065b4f3C237d4b59D9A97Bcac7

  • Λήψη ABI από το Etherscan

  • Όνομα συμβολαίου › Token

Αυτό θα δημιουργήσει έναν βασικό υπογράφο βάσει της διεύθυνσης του συμβολαίου που θα διαβιβαστεί ως επιχείρημα στο --from-contract. Χρησιμοποιώντας αυτήν τη διεύθυνση συμβολαίου, το CLI θα προετοιμάσει μερικά πράγματα στο έργο σας για να ξεκινήσετε (συμπεριλαμβανομένης της ανάκτησης των ABI και της αποθήκευσής τους στον κατάλογο ABI).

Περνώντας στην --index-events επισήμανση το CLI θα συμπληρώσει αυτόματα κάποιο κώδικα και παραμετροποίηση για εμάς τόσο στο schema.graphql όσο και στο src/mapping.ts με βάση τα συμβάντα που εκπέμπονται από το συμβόλαιο.

Η βάση δεδομένων υπογράφου αποτελείται από μερικά αρχεία:

  • subgraph.yaml: ένα αρχείο YAML που περιέχει τη δήλωση υπογράφου. Η κύρια διαμόρφωση και ορισμός για έναν υπογράφο ζει στο subgraph.yaml.

  • schema.graphql: ένα διάγραμμα GraphQL που καθορίζει ποια δεδομένα είναι αποθηκευμένα για τον υπογράφο σας και πώς να του υποβάλετε ερώτημα μέσω GraphQL

  • AssemblyScript Mappings: AssemblyScript κώδικας που μεταφράζεται από τα δεδομένα συμβάντων στο Ethereum στους φορείς που ορίζονται στο διάγραμμα σας (π.χ. mapping.ts σε αυτό το σεμινάριο)

Οι καταχωρήσεις στο subgraph.yaml με τις οποίες θα εργαστείτε είναι:

  • dataSources.source: η διεύθυνση του έξυπνου συμβολαίου, οι πηγές του υπογράφου και το ABI του έξυπνου συμβολαίου που χρησιμοποιείτε. Η διεύθυνση είναι προαιρετική. παραλείποντας αυτό επιτρέπει την ευρετηρίαση συμβάντων αντιστοίχισης από όλα τα συμβόλαια.

  • dataSources.source.startBlock (προαιρετικό): ο αριθμός του μπλοκ από το οποίο ξεκινά η ευρετηρίαση από την πηγή δεδομένων. Στις περισσότερες περιπτώσεις προτείνουμε να χρησιμοποιήσετε το μπλοκ στο οποίο δημιουργήθηκε το συμβόλαιο, εάν όχι τότε ο δείκτης θα ξεκινήσει από το μπλοκ γένεσης.

  • dataSources.mapping.entities: οι φορείς που γράφει η πηγή δεδομένων στον αποθηκευτικό χώρο. Το διάγραμμα για κάθε φορέα ορίζεται στο αρχείο schema.graphql.

  • dataSources.mapping.abis: ένα ή περισσότερα ονόματα ABI για το πηγαίο συμβόλαιο, καθώς και άλλα έξυπνα συμβόλαια με τα οποία αλληλεπιδράτε μέσα από τις αντιστοιχίσεις.

  • dataSources.mapping.eventHandlers: παραθέτει τα συμβάντα έξυπνων συμβολαίων στα οποία αντιδρά ο υπογράφος και τους χειριστές στην αντιστοίχιση - ./src/mapping.ts στο παράδειγμα - που μεταμορφώνουν αυτά τα συμβάντα σε φορείς στον αποθηκευτικό χώρο.

Ορισμός των φορέων:

Με το The Graph, ορίζετε τύπους φορέων στο schema.graphql και ο κόμβος του The Graph θα δημιουργήσει πεδία ανώτερου επιπέδου για το ερωτήματα σε μεμονωμένες περιπτώσεις και συλλογές αυτού του τύπου φορέων. Κάθε τύπος που πρέπει να είναι φορέας πρέπει να σχολιάζεται με μια οδηγία @entity.

Οι φορείς / δεδομένα που θα ευρετηριάσουμε είναι τα Token και Χρήστης. Με αυτόν τον τρόπο μπορούμε να ευρετηριάσουμε τα Tokens που δημιουργήθηκαν από τους χρήστες καθώς και από τους ίδιους τους χρήστες.

Για να το κάνετε αυτό, ενημερώστε το schema.graphql με τον ακόλουθο κώδικα:

type Token @entity { 
  id: ID!
  tokenID: BigInt! 
  contentURI: String!  
  metadataURI: String!   
  createdAtTimestamp: BigInt!  
  creator: User!  
  owner: User! 
}  

  type User @entity { 
  id: ID!  
  tokens: [Token!]! @derivedFrom(field: "owner")  
  created: [Token!]! @derivedFrom(field: "creator")
}  


Σχέσεις μέσω @derivedFrom:

Αντίστροφη αναζήτηση μπορεί να οριστεί σε έναν φορέα μέσω του πεδίου @derivedFrom. Αυτό δημιουργεί ένα εικονικό πεδίο στο φορέα που μπορεί να υποβληθεί σε ερώτηση αλλά δεν μπορεί να ρυθμιστεί χειροκίνητα μέσω των API αντιστοίχισης. Αντίθετα, προέρχεται από τη σχέση που ορίζεται στον άλλο φορέα. Για τέτοιες σχέσεις, σπάνια έχει νόημα να αποθηκεύσετε και τις δύο πλευρές της σχέσης και η απόδοση ευρετηρίασης και ερωτήματος θα είναι καλύτερη όταν αποθηκεύεται μόνο η μία πλευρά και παράγεται η άλλη.

Για σχέσεις ένα-προς-πολλά, η σχέση πρέπει πάντα να αποθηκεύεται στην πλευρά 'ένα' και η πλευρά 'πολλά' πρέπει πάντα να παράγεται. Η αποθήκευση της σχέσης με αυτόν τον τρόπο, αντί για αποθήκευση μιας σειράς φορέων από την πλευρά 'πολλά', θα έχει ως αποτέλεσμα δραματικά καλύτερη απόδοση τόσο για την ευρετηρίαση όσο και για την υποβολή ερωτημάτων στον υπογράφο. Γενικά, η αποθήκευση συστοιχιών φορέων θα πρέπει να αποφεύγεται όσο είναι πρακτικό.

Τώρα που έχουμε δημιουργήσει το σχήμα GraphQL για την εφαρμογή μας, μπορούμε να δημιουργήσουμε τους φορείς τοπικά για να αρχίσουν να χρησιμοποιούν στις αντιστοιχίσεις που δημιουργούνται από το CLI:

graph codegen

Προκειμένου να φτιάξει λειτουργικά έξυπνα συμβόλαια, συμβάντα και φορείς που λειτουργούν εύκολα και με ασφάλεια τύπων, το Graph CLI δημιουργεί τύπους Αντιστοιχήσεις Σεναρίου Assembly από ένα συνδυασμό του διαγράμματος GraphQL του υπογράφου και των συμβολαίων ABI που περιλαμβάνονται στις πηγές δεδομένων.

Ενημέρωση του υπογράφου με τους φορείς και τις αντιστοιχίσεις

Τώρα μπορείτε να ενημερώσετε την κύρια διαμόρφωση στο subgraph.yaml για να χρησιμοποιήσετε τις οντότητες που μόλις δημιουργήσατε, καθώς και να διαμορφώσετε τις αντιστοιχίσεις τους.

Για να το κάνετε αυτό, ενημερώστε πρώτα το πεδίο dataSources.mapping.entities με τους φορείς Χρήστης και Token:

entities:
  - Token
  - User

Στη συνέχεια, ενημερώστε το dataSources.mapping.eventHandlers για να συμπεριλάβετε μόνο τους ακόλουθους δύο χειριστές συμβάντων:

eventHandlers:
  - event: TokenURIUpdated(indexed uint256,address,string)
    handler: handleTokenURIUpdated
  - event: Transfer(indexed address,indexed address,indexed uint256)
    handler: handleTransfer

Αυτοί οι χειριστές συμβάντων θα αντιστοιχίσουν το συμβάν Ethereum σε μια συνάρτηση στο τοπικό έργο. Σε αυτήν τη συνάρτηση, θα είμαστε σε θέση να αλληλεπιδράσουμε και να γράψουμε στον κόμβο του The Graph.

Τέλος, ενημερώστε τη διαμόρφωση για να προσθέσετε το startBlock:

source:
  address: "0xabEFBc9fD2F806065b4f3C237d4b59D9A97Bcac7"
  abi: Token
  startBlock: 11565020

Το τελικό αρχείο subgraph.yaml θα πρέπει να έχει την εξής μορφή:

 specVersion: 0.0.2
 schema: file: 
 ./schema.graphql
 dataSources:
  - kind: ethereum/contract 
    name: Token 
    network: mainnet 
    source:
      address: "0xabEFBc9fD2F806065b4f3C237d4b59D9A97Bcac7"           
      abi: Token
      startBlock: 11565020 
    mapping: 
      kind: ethereum/events 
      apiVersion: 0.0.4 
      language: wasm/assemblyscript 
      entities:  
        - Token
        - User 
      abis:
        - name: Token 
          file: ./abis/Token.json
      eventHandlers:
        - event: TokenURIUpdated(indexed uint256,address,string)
          handler: handleTokenURIUpdated 
        - event: Transfer(indexed address,indexed address,indexed uint256)
          handler: handleTransfer 
      file: ./src/mapping.ts

Μονάδα Κειμένου Αντιστοίχισης

Στη συνέχεια, μπορούμε να ρυθμίσουμε τις αντιστοιχίσεις AssemblyScript για τον χειρισμό των συμβάντων που ορίζονται στο subgraph.yaml.

Για να δημιουργήσουμε τον κώδικα που χρειαζόμαστε, μπορούμε να εκτελέσουμε την εντολή codegen από το Graph CLI:

graph codegen

Αυτή η εντολή δημιούργησε κάποιον βοηθητικό κώδικα σε ένα αρχείο που βρίσκεται σε ένα φάκελο με όνομα generated και θα μας δώσει ασφάλεια τύπου καθώς και συναρτήσεις που θα μας επιτρέψουν να αλληλεπιδράσουμε με τον κόμβο του The Graph καθώς και με το ίδιο το έξυπνο συμβόλαιο.

Στη συνέχεια, ανοίξτε το src/mappings.ts για να γράψετε τη λογική αντιστοίχισης για τις αντιστοιχίσεις συμβάντων που ορίσαμε στο subgraph.yaml eventHandlers.

Οι αντιστοιχίσεις είναι γραμμένες σε AssemblyScript που μοιάζουν πολύ με το TypeScript στο συντακτικό του. Αυτές οι αντιστοιχίσεις μας επιτρέπουν να διαβάζουμε και να αποθηκεύουμε δεδομένα στον κόμβο του The Graph. Μπορείτε επίσης να διαβάσετε δεδομένα από έξυπνα συμβόλαια αλληλεπιδρώντας απευθείας με ένα blockchain.

Δύο είδη API είναι έτοιμα για χρήση σε αυτό το σημείο: η βιβλιοθήκη Graph TypeScript (@graphprotocol/graph-ts) και ο κώδικας που δημιουργείται από αρχεία υπογράφου από το graph codegen.

Η βιβλιοθήκη @graphprotocol/graph-ts παρέχει τα ακόλουθα API:

  • Ένα API για λειτουργία με έξυπνα συμβόλαια, συμβάντα, μπλοκ, συναλλαγές και τιμές blockchain.

  • Ένα API αποθηκευτικού χώρου για φόρτωση και αποθήκευση φορέων από και προς τον αποθηκευτικό χώρο του κόμβου του The Graph.

  • Ένα API καταγραφής και φόρτωσης μηνυμάτων στην έξοδο του κόμβου του The Graph και στον Graph Explorer.

  • Ένα API IPFS για τη φόρτωση αρχείων από IPFS.

  • Ένα API JSON για ανάλυση δεδομένων JSON.

  • Ένα API κρυπτογράφησης για τη χρήση κρυπτογραφικών συναρτήσεων.

  • Πρωτόγονα χαμηλού επιπέδου για μετάφραση μεταξύ διαφορετικών τύπων συστημάτων όπως τα Ethereum, JSON, GraphQL και AssemblyScript.

Ενημερώστε το src/mappings.ts με τον ακόλουθο κώδικα:

import {
  TokenURIUpdated as TokenURIUpdatedEvent,
  Transfer as TransferEvent,
  Token as TokenContract
} from "../generated/Token/Token"

import {
  Token, User
} from '../generated/schema'

export function handleTransfer(event: TransferEvent): void {
  let token = Token.load(event.params.tokenId.toString());  
  if (!token) {    
    token = new Token(event.params.tokenId.toString()); 
    token.creator = event.params.to.toHexString(); 
    token.tokenID = event.params.tokenId;
    token.createdAtTimestamp = event.block.timestamp; 

    let tokenContract = TokenContract.bind(event.address); 
    token.contentURI = tokenContract.tokenURI(event.params.tokenId);
    token.metadataURI = tokenContract.tokenMetadataURI(event.params.tokenId);
  }  
  token.owner = event.params.to.toHexString(); 
  token.save();   

  let user = User.load(event.params.to.toHexString());  
  if (!user) {   
    user = new User(event.params.to.toHexString()); 
    user.save();  
  } 
}  

export function handleTokenURIUpdated(event: TokenURIUpdatedEvent): void {  
  let token = Token.load(event.params._tokenId.toString()); 
  token.contentURI = event.params._uri;  
  token.save(); 
}

Η λειτουργία handleTransfer θα καλείται κάθε φορά που δημιουργείται ή μεταφέρεται ένα token από το ένα μέρος στο άλλο.

Η λειτουργία handleTokenURIUpdated θα καλείται κάθε φορά που ένας κάτοχος ενός token ενημερώνει το URI περιεχομένου ενός token.

Ανάπτυξη και Δοκιμή του Υπογράφου

Τώρα που ο υπογράφος έχει ολοκληρωθεί, είναι έτοιμος να αναπτυχθεί στο Studio για δοκιμή.

Πριν από την ανάπτυξη, πρέπει να πραγματοποιήσουμε πιστοποίηση. Για να το κάνετε αυτό, αντιγράψτε το DEPLOY KEY στο πρόχειρο σας. Στη συνέχεια, ανοίξτε το CLI και εκτελέστε την ακόλουθη εντολή:

graph auth --studio

Όταν σας ζητηθεί, επικολλήστε το DEPLOY KEY.

Τώρα μπορείτε να αναπτύξετε τον υπογράφο σας χρησιμοποιώντας την εντολή ανάπτυξης:

graph deploy --studio <subgraph-name>

Όταν σας ζητηθεί μια ετικέτα έκδοσης, επιλέξτε μια έκδοση για τον υπογράφο.

Μόλις αναπτυχθεί ο υπογράφος, το Studio θα πρέπει να ενημερωθεί με ένα νέο περιβάλλον εργασίας χρήστη που θα σας επιτρέπει να δοκιμάζετε ερωτήματα στο χώρο GraphQL, καθώς και να βλέπετε αρχεία καταγραφής και άλλες λεπτομέρειες.

Τώρα που ο υπογράφος έχει αναπτυχθεί με επιτυχία, μπορούμε να ξεκινήσουμε την υποβολή ερωτημάτων για δεδομένα.

Για να το κάνετε αυτό, μπορείτε να εκτελέσετε ερωτήματα GraphQL για Χρήστες και Token, καθώς και σχεσιακά δεδομένα μεταξύ Χρηστών και Tokens. Για να το δοκιμάσετε, ας εκτελέσουμε το ακόλουθο ερώτημα. Αυτό το ερώτημα θα επιστρέψει έναν πίνακα δεδομένων NFT συμπεριλαμβανομένων των URI περιεχομένου, αναγνωριστικών token, contentURI και URI μεταδεδομένων για κάθε token:

{   
  tokens { 
    id     
    tokenID     
    contentURI     
    metadataURI   
  } 
}

Μπορείτε επίσης να περάσετε επιχειρήματα για την επιστροφή διαφορετικών συνόλων επιλογών, όπως φίλτρα και αναζήτηση πλήρους κειμένου. Για παράδειγμα, ας στοιχίσουμε στοιχεία κατά την ημερομηνία δημιουργίας τους και να τα επιστρέψουμε με φθίνουσα σειρά:

{   
  tokens(     
    orderBy:createdAtTimestamp,     
    orderDirection: desc   
  ) {     
    id     
    tokenID     
    contentURI     
    metadataURI   
  } 
}

Σε αυτό το σημείο, ο υπογράφος έχει αναπτυχθεί μόνο στο Studio το οποίο μπορεί να θεωρηθεί ως περιβάλλον δοκιμών ή οργάνωσης. Τα επόμενα βήματα θα ήταν η ανάπτυξη είτε σε δοκιμαστικό δίκτυο είτε σε κύριο δίκτυο.

Για ανάπτυξη σε δίκτυο, κάντε κλικ στο κουμπί Δημοσίευση. Εδώ, θα σας ζητηθεί να επιλέξετε σε ποιο δίκτυο θέλετε να αναπτύξετε.

Ας το δοκιμάσουμε, μεταβαίνοντας στο δοκιμαστικό δίκτυο Rinkeby και δημοσιεύοντας τον υπογράφο εκεί. Βεβαιωθείτε ότι είστε συνδεδεμένοι στο σωστό δίκτυο με το πορτοφόλι MetaMask.

Για να αναπτύξετε στο Rinkeby, θα χρειαστεί να έχετε κάποια δοκιμαστικά χρήματα στο πορτοφόλι σας. Εάν δεν έχετε, επισκεφθείτε τη διεύθυνση https://faucet.rinkeby.io/ και λάβετε πρώτα μερικά.

Μόλις λάβετε τα δοκιμαστικά χρήματα στο πορτοφόλι σας, δοκιμάστε να δημοσιεύσετε τον υπογράφο στο Rinkeby Network.

Στη συνέχεια, θα σας ζητηθεί να εγκρίνετε την τιμή gas για να δημοσιεύσετε τον υπογράφο.

Μόλις δημοσιευτεί επιτυχώς ο υπογράφος, θα πρέπει να δείτε επιβεβαίωση καθώς και έναν σύνδεσμο για να το προβάλετε στον Graph Explorer:

Όταν κάνετε κλικ στο σύνδεσμο για προβολή στον Explorer, θα πρέπει να δείτε μια νέα προβολή του Υπογράφου σας με δυνατότητα προσομοίωσης ερωτημάτων καθώς και σηματοδότησης.


Επιμέλεια στον υπογράφο σας!


Τώρα που έχετε δημιουργήσει και δημοσιεύσει τον υπογράφο σας, μπορείτε επίσης να ανταμειφθείτε για την επιμέλεια του, σηματοδοτώντας στον υπογράφο σας με GRT. Για να σηματοδοτήσετε στον υπογράφο σας, μπορείτε να χρησιμοποιήσετε τα δοκιμαστικά tokens Graph (GRT). Για να λάβετε δοκιμαστικά tokens Graph, μπορείτε να εγγραφείτε στον διακομιστή του The Graph στο Discord και να ζητήσετε tokens στο κανάλι 🚰-testnet-faucet . Όταν είστε έτοιμοι, μπορείτε να σηματοδοτήσετε στον υπογράφο σας στο κύριο δίκτυο.

Μάθετε περισσότερα σχετικά με την επιμέλεια εδώ.

Εάν έχετε οποιεσδήποτε ερωτήσεις σχετικά με τη δημιουργία υπογράφων, μεταβείτε στο Discord του The Graph για να ρωτήσετε άλλους προγραμματιστές ή δημοσιεύστε στο The Graph Forum για να ξεκινήσει μια συζήτηση!


Μάθετε σχετικά με το The Graph


Το The Graph είναι το επίπεδο δημιουργίας ευρετηρίων και ερωτημάτων του αποκεντρωμένου ιστού. Οι Προγραμματιστές (Developers) δημιουργούν και δημοσιεύουν ανοιχτά APIs, που ονομάζονται υπογράφοι, στα οποία οι εφαρμογές μπορούν να υποβάλουν ερώτημα χρησιμοποιώντας το GraphQL. Το The Graph υποστηρίζει προς το παρόν την ευρετηρίαση δεδομένων από το Ethereum, IPFS και PoA με σύντομα περισσότερα δίκτυα. Μέχρι σήμερα έχουν αναπτυχθεί πάνω από 18,000 υπογράφοι στην φιλοξενούμενη υπηρεσία και τώρα οι υπογράφοι μπορούν να αναπτυχθούν απευθείας στο δίκτυο! Περίπου 20,000 Προγραμματιστές (Developers) έχουν φτιάξει υπογράφους για εφαρμογές όπως, Uniswap, Synthetix, Aragon, Gnosis, Balancer, Livepeer, DAOstack, AAVE, Decentraland και πολλά άλλα.

Εάν είστε Προγραμματιστής (Developer) που δημιουργεί μια εφαρμογή ή μια εφαρμογή Web3, μπορείτε να χρησιμοποιήσετε υπογράφους για δημιουργία ευρετηρίων και υποβολές ερωτημάτων δεδομένων από τα blockchains. Το The Graph επιτρέπει στις εφαρμογές να παρουσιάζουν αποτελεσματικά και αποδοτικά δεδομένα σε μια διεπαφή χρήστη και επιτρέπει σε άλλους Προγραμματιστές (Developers) να χρησιμοποιούν τον υπογράφο σας. Μπορείτε να αναπτύξετε έναν υπογράφο ή να υποβάλετε ερώτημα σε υπάρχοντες υπογράφους που βρίσκονται στο The Graph Explorer. Το The Graph θα ήθελε να σας καλωσορίσει ως Δημιουργούς Ευρετηρίων (Indexers)Επιμελητές (Curators) ή / και Εκπροσώπους (Delegators) στο δίκτυο The Graph. Γίνετε μέλος της κοινότητας του The Graph, συστήνοντας τον εαυτό σας στο Discord του The Graph για τεχνικές συζητήσεις, λάβετε μέρος στη συνομιλία του The Graph στο Telegram ή ακολουθήστε το The Graph στο Twitter! Οι Προγραμματιστές (Developers) και τα μέλη της κοινότητας του The Graph είναι πάντα πρόθυμοι να συνομιλήσουν μαζί σας και το οικοσύστημα του The Graph έχει μια αυξανόμενη κοινότητα Προγραμματιστών (Developers) που υποστηρίζουν ο ένας τον άλλον.

Το Ίδρυμα The Graph εποπτεύει το Δίκτυο The Graph. Το Ίδρυμα The Graph εποπτεύεται από το Τεχνικό Συμβούλιο. Η Edge & Node είναι ένας από τούς πολλούς οργανισμούς του Οικοσυστήματος The Graph.


Πρωτότυπο Άρθρο (Αγγλική)Building Subgraphs with Subgraph Studio

Συντάκτης Πρωτότυπου ΆρθρουThe Graph Foundation

Ημερομηνία Συγγραφής Πρωτότυπου Άρθρου: 08 Ιουλίου 2021