Vai al contenuto principale

Iniziare con lo sviluppo su Ethereum

JavaScript
ethers.js
nodi
interrogazione
Alchemy
Principiante
Elan Halpern
30 ottobre 2020
5 minuti di lettura

Ethereum and Alchemy logos

Questa è una guida per principianti per iniziare con lo sviluppo su Ethereum. Per questo tutorial useremo Alchemy (si apre in una nuova scheda), la principale piattaforma di sviluppo blockchain che alimenta milioni di utenti dal 70% delle migliori app blockchain, tra cui Maker, 0x, MyEtherWallet, Dharma e Kyber. Alchemy ci darà accesso a un endpoint API sulla catena di Ethereum in modo da poter leggere e scrivere transazioni.

Ti guideremo dalla registrazione su Alchemy alla scrittura del tuo primo script Web3! Nessuna esperienza di sviluppo blockchain necessaria!

1. Registrati per un account Alchemy gratuito

Creare un account con Alchemy è facile, registrati gratuitamente qui (si apre in una nuova scheda).

2. Crea un'app Alchemy

Per comunicare con la catena di Ethereum e utilizzare i prodotti di Alchemy, hai bisogno di una chiave API per autenticare le tue richieste.

Puoi creare chiavi API dalla dashboard (si apre in una nuova scheda). Per creare una nuova chiave, vai su “Create App” come mostrato di seguito:

Un ringraziamento speciale a ShapeShift (si apre in una nuova scheda) per averci permesso di mostrare la loro dashboard!

Alchemy dashboard

Compila i dettagli sotto “Create App” per ottenere la tua nuova chiave. Qui puoi anche vedere le app che hai creato in precedenza e quelle create dal tuo team. Recupera le chiavi esistenti cliccando su “View Key” per qualsiasi app.

Create app with Alchemy screenshot

Puoi anche recuperare le chiavi API esistenti passando il mouse su “Apps” e selezionandone una. Qui puoi cliccare su “View Key”, così come su “Edit App” per inserire domini specifici in whitelist, vedere vari strumenti per sviluppatori e visualizzare le analisi.

3. Effettua una richiesta dalla riga di comando

Interagisci con la blockchain di Ethereum tramite Alchemy usando JSON-RPC e curl.

Per le richieste manuali, consigliamo di interagire con JSON-RPC tramite richieste POST. Passa semplicemente l'intestazione Content-Type: application/json e la tua query come corpo della richiesta POST con i seguenti campi:

  • jsonrpc: La versione di JSON-RPC; attualmente è supportata solo la 2.0.
  • method: Il metodo dell'API di ETH. Vedi il riferimento dell'API.
  • params: Un elenco di parametri da passare al metodo.
  • id: L'ID della tua richiesta. Verrà restituito dalla risposta in modo da poter tenere traccia a quale richiesta appartiene una risposta.

Ecco un esempio che puoi eseguire dalla riga di comando per recuperare l'attuale prezzo del gas:

curl https://eth-mainnet.alchemyapi.io/v2/demo \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":73}'

NOTA: Sostituisci https://eth-mainnet.alchemyapi.io/v2/demo con la tua chiave API https://eth-mainnet.alchemyapi.io/v2/**your-api-key.

Risultati:

{ "id": 73,"jsonrpc": "2.0","result": "0x09184e72a000" // 10000000000000 }

4. Configura il tuo client Web3

Se hai un client esistente, cambia l'URL del tuo attuale fornitore di nodi in un URL di Alchemy con la tua chiave API: "https://eth-mainnet.alchemyapi.io/v2/your-api-key"

NOTA: Gli script sottostanti devono essere eseguiti in un contesto di nodo o salvati in un file, non eseguiti dalla riga di comando. Se non hai già installato Node o npm, segui le istruzioni di installazione di Node.js (si apre in una nuova scheda).

Ci sono tantissime librerie Web3 che puoi integrare con Alchemy, tuttavia, consigliamo di usare Alchemy Web3 (si apre in una nuova scheda), un sostituto diretto per Web3.js, creato e configurato per funzionare perfettamente con Alchemy. Questo offre molteplici vantaggi come i tentativi automatici e un robusto supporto per WebSocket.

Per installare AlchemyWeb3.js, vai alla directory del tuo progetto ed esegui:

Con Yarn:

yarn add @alch/alchemy-web3

Con NPM:

npm install @alch/alchemy-web3

Per interagire con l'infrastruttura dei nodi di Alchemy, esegui in Node.js o aggiungi questo a un file JavaScript:

const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
const web3 = createAlchemyWeb3(
  "https://eth-mainnet.alchemyapi.io/v2/your-api-key"
)

5. Scrivi il tuo primo script Web3!

Ora, per sporcarci le mani con un po' di programmazione Web3, scriveremo un semplice script che stampa l'ultimo numero di blocco dalla Mainnet di Ethereum.

1. Se non l'hai già fatto, nel tuo terminale crea una nuova directory di progetto e accedi con cd:

mkdir web3-example
cd web3-example

2. Installa la dipendenza Web3 di Alchemy (o qualsiasi Web3) nel tuo progetto se non l'hai già fatto:

npm install @alch/alchemy-web3

3. Crea un file chiamato index.js e aggiungi i seguenti contenuti:

Dovresti infine sostituire demo con la tua chiave API HTTP di Alchemy.

async function main() {
  const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
  const web3 = createAlchemyWeb3("https://eth-mainnet.alchemyapi.io/v2/demo")
  const blockNumber = await web3.eth.getBlockNumber()
  console.log("The latest block number is " + blockNumber)
}
main()

Non hai familiarità con i concetti asincroni? Dai un'occhiata a questo post su Medium (si apre in una nuova scheda).

4. Eseguilo nel tuo terminale usando node

node index.js

5. Ora dovresti vedere l'output dell'ultimo numero di blocco nella tua console!

The latest block number is 11043912

Evviva! Congratulazioni! Hai appena scritto il tuo primo script Web3 usando Alchemy 🎉

Non sai cosa fare dopo? Prova a distribuire il tuo primo smart contract e sporcati le mani con un po' di programmazione in Solidity nella nostra Guida allo Smart Contract Hello World, o continua a esplorare la documentazione di Alchemy (si apre in una nuova scheda) per altri esempi.

Registrati gratuitamente su Alchemy (si apre in una nuova scheda), dai un'occhiata alla nostra documentazione (si apre in una nuova scheda) e, per le ultime notizie, seguici su Twitter (si apre in una nuova scheda).