Vai al contenuto principale

Aiuta ad aggiornare questa pagina

🌏

C'è una nuova versione di questa pagina, ma al momento è solo in inglese. Aiutaci a tradurre l'ultima versione.

Traduci la pagina
Visualizza in inglese

Nessun bug qui!🐛

Questa pagina non è stata tradotta. Per il momento, è stata intenzionalmente lasciata in inglese.

Primi passi con lo sviluppo di Ethereum

primi passi
javascript
ethers.js
nodi
interrogazione
alchemy
Principiante
✍Elan Halpern
📚Medium
📆30 ottobre 2020
⏱️5 minuti letti

Loghi Ethereum e Alchemy

Questa è una guida per principianti per muovere i primi passi con lo sviluppo di Ethereum. Per questo tutorial useremo Alchemy, la piattaforma principale per sviluppatori della blockchain con milioni di utenti dal 70% delle migliori app della blockchain, tra cui Maker, 0x, MyEtherWallet, Dharma e Kyber. Alchemy ci darà accesso all'endpoint di un'API sulla catena di Ethereum, così da permetterci di leggere e scrivere le transazioni.

Inizieremo dalla registrazione ad Alchemy e passeremo alla scrittura del tuo primo script web3! Non è necessaria alcuna esperienza di sviluppo con blockchain.

1. Crea un profilo Alchemy gratuito

Creare un account Alchemy è facile. Registrati gratuitamente qui.

2. Crea un'app con Alchemy

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

Puoi creare chiavi API dalla dashboard. Per creare una nuova chiave, vai a "Create App" come mostrato sotto:

Ringraziamenti speciali a ShapeShift per averci permesso di mostrare la sua dashboard!

Dashboard di Alchemy

Compila i dettagli sotto "Create App" per ottenere la tua nuova chiave. Qui puoi anche vedere le app create in precedenza e quelle create dal tuo team. Preleva le chiavi esistenti facendo clic su "View Key" per qualsiasi app.

Crea l'app con gli screenshot di Alchemy

Puoi anche prelevare chiavi API esistenti passando con il mouse su "Apps" e selezionandone una. Puoi scegliere "View Key" o "Edit App" per consentire domini specifici, vedere diversi strumenti da sviluppatore e visualizzare i dati analitici.

Gif che mostra a un utente come estrarre le chiavi API

3. Effettua una richiesta dalla riga di comando

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

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

  • jsonrpc: versione JSON-RPC. Attualmente è supportata solo la 2.0.
  • method: metodo dell'API ETH. Vedi il riferimento all'API.
  • params: elenco di parametri da passare al metodo.
  • id: ID della richiesta. Sarà restituita dalla risposta, e potrai controllare sempre a quale richiesta appartiene la risposta.

Ecco un'esempio che puoi eseguire dalla riga di comando per recuperare il prezzo corrente del carburante:

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:

1{ "id": 73,"jsonrpc": "2.0","result": "0x09184e72a000" // 10000000000000 }
2
📋 Copia

4. Configura il client Web3

Se hai già un client, cambia l'URL del provider del nodo corrente inserendo un URL Alchemy con la tua chiave API: "https://eth-mainnet.alchemyapi.io/v2/your-api-key"

NOTA: gli script qui sotto devono essere eseguiti in un contesto node o salvati in un file, non devono essere eseguiti dalla riga di comando. Se non hai installato Node o npm, dai un'occhiata a questa guida di configurazione per Mac.

Ci sono tantissime librerie Web3 che possono essere integrate con Alchemy, ma consigliamo di usare Alchemy Web3, un sostituto di web3.js, creato e configurato per funzionare perfettamente con Alchemy. Fornisce diversi vantaggi, come tentativi automatici e supporto affidabile per WebSocket.

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

Con Yarn:

1yarn add @alch/alchemy-web3
2

Con NPM:

1npm install @alch/alchemy-web3
2

Per interagire con l'infrastruttura del nodo di Alchemy, esegui NodeJS o aggiungi il codice seguente a un file JavaScript:

1const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
2const web3 = createAlchemyWeb3(
3 "https://eth-mainnet.alchemyapi.io/v2/your-api-key"
4)
5
📋 Copia

5. Scrivi il tuo primo script Web3!

Ora per sporcarci un po' le mani con la programmazione web3 scriveremo uno script semplice che riporta il numero dell'ultimo blocco della rete principale Ethereum.

1. Se non lo hai già fatto, nel terminale crea una nuova directory del progetto passa ad essa (cd):

1mkdir web3-example
2cd web3-example
3

2. Se non lo hai già fatto, installa la dipendenza Alchemy Web3 (o web3 di altro tipo) nel progetto:

1npm install @alch/alchemy-web3
2

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

Devi sostituire demo con la tua chiave API HTTP di Alchemy.

1async function main() {
2 const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
3 const web3 = createAlchemyWeb3("https://eth-mainnet.alchemyapi.io/v2/demo")
4 const blockNumber = await web3.eth.getBlockNumber()
5 console.log("The latest block number is " + blockNumber)
6}
7main()
8
📋 Copia

Non hai famigliarità con la programmazione asincrona? Dai un'occhiata a questo post di Medium.

4. Eseguilo nel terminale usando node

1node index.js
2

5. A questo punto dovresti vedere l'output con il numero dell'ultimo blocco nella console!

1The latest block number is 11043912
2

Wow! Congratulazioni! Hai appena scritto il tuo primo script web3 usando Alchemy

Non sai come proseguire? Prova a distribuire il tuo primo smart contract e fai qualche prova pratica di programmazione in Solidity nella nostra Guida agli smart contract Hello World o testa la tua conoscenza della Dashboard con l'App Demo della Dashboard!

Iscriviti gratis ad Alchemy, dai un'occhiata alla nostra documentazione e, per le ultime notizie, seguici su Twitter.

Ultima modifica: , Invalid DateTime
Modifica la pagina

Questa pagina è stata utile?