Che cos'è il Hosted Service?
Reading time: 3 min
Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the
Questa sezione illustra come distribuire un subgraph nel .
Se non si dispone di un account sul hosted service, è possibile registrarsi con il proprio account GitHub. Una volta effettuata l'autenticazione, si può iniziare a creare subgraph attraverso UI e a distribuirli dal proprio terminale. Il hosted service supporta una serie di reti, come Polygon, Gnosis Chain, BNB Chain, Optimism, Arbitrum e altre ancora.
Per un elenco completo, vedere .
First follow the instructions to install the Graph CLI. Create a subgraph by passing in graph init --product hosted-service
Se si dispone già di uno smart contract distribuito sulla rete scelta, l'avvio di un nuovo subgraph da questo contratto può essere un buon modo per iniziare a utilizzare l'hosted service.
You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer.
graph init \--product hosted-service--from-contract <CONTRACT_ADDRESS> \<GITHUB_USER>/<SUBGRAPH_NAME> [<DIRECTORY>]
Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form.
--network <ETHEREUM_NETWORK> \--abi <FILE> \
Il <GITHUB_USER>
in questo caso è il nome dell'utente GitHub oppure dell'organizzazione, <SUBGRAPH_NAME>
è il nome del subgraph, e <DIRECTORY>
è il nome opzionale della directory in cui graph init
metterà il manifest del subgraph di esempio. Il <CONTRACT_ADDRESS>
è l'indirizzo del contratto esistente. <ETHEREUM_NETWORK>
è il nome della rete su cui risiede il contratto. <FILE>
è un percorso locale a un file ABI del contratto. Entrambi --network
e --abi
sono opzionali.
La seconda modalità supportata da graph init
è la creazione di un nuovo progetto a partire da un subgraph di esempio. Il comando seguente esegue questa operazione:
graph init --from-example --product hosted-service <GITHUB_USER>/<SUBGRAPH_NAME> [<DIRECTORY>]
Il subgraph di esempio si basa sul contratto Gravity di Dani Grant, che gestisce gli avatar degli utenti ed emette eventi NewGravatar
oppure UpdateGravatar
ogni volta che gli avatar vengono creati o aggiornati. Il subgraph gestisce questi eventi scrivendo entità Gravatar
nel negozio Graph Node e assicurandosi che vengano aggiornate in base agli eventi. Continuate con il per capire meglio a quali eventi dei vostri smart contract prestare attenzione, mappature e altro ancora.
Per costruire un subgraph su misura per il monitoraggio di un contratto Proxy, inizializzare il subgraph specificando l'indirizzo del contratto di implementazione. Una volta concluso il processo di inizializzazione, l'ultimo passo consiste nell'aggiornare il nome della rete nel file subgraph.yaml con l'indirizzo del contratto Proxy. Si può usare il comando seguente.
graph init \--product hosted-service--from-contract <IMPLEMENTATION_ADDRESS> \<GITHUB_USER>/<SUBGRAPH_NAME> [<DIRECTORY>]