Ehilà! In qualità di fornitore di Ether, mi viene spesso chiesto come ottenere il contratto ABI con ethers.js. In questo post del blog, lo analizzerò passo dopo passo.
Innanzitutto parliamo velocemente di cosa è il contratto ABI. ABI sta per Application Binary Interface. È fondamentalmente una descrizione simile a JSON di come possiamo interagire con un contratto intelligente sulla blockchain di Ethereum. Ci racconta le funzioni disponibili nel contratto, quali parametri assumono e che tipo di dati restituiscono. È estremamente importante se desideri effettuare chiamate a un contratto intelligente utilizzando ethers.js.
Prerequisiti
Prima di immergerti nell'ottenimento dell'ABI, devi impostare alcune cose. Dovrai avere Node.js installato sul tuo computer. Puoi andare al sito web ufficiale di Node.js e scaricare la versione appropriata per il tuo sistema operativo.
Una volta installato Node.js, apri il terminale. Presumo che tu abbia una certa familiarità con l'uso del terminale qui. Non preoccuparti se non sei un professionista; non è così difficile. Passa alla directory in cui desideri gestire il tuo progetto ed esegui il comando seguente per inizializzare un nuovo progetto Node.js:
npm init -y
IL-Eflag salta semplicemente tutte le domande e crea un filepacchetto.jsonfile con le impostazioni predefinite. Questopacchetto.jsonfile è molto utile poiché tiene traccia di tutte le dipendenze di cui il tuo progetto ha bisogno.
Successivamente, dovrai installareethers.js. È una libreria JavaScript molto popolare per interagire con la blockchain di Ethereum. Installalo usando il seguente comando nel tuo terminale:
npm installa gli eteri
Trovare il Contratto ABI
Ci sono alcune modalità per ottenere il contratto ABI. Un modo è se hai scritto tu stesso il contratto intelligente e lo hai compilato utilizzando un compilatore come quello di Soliditysolc. Quando compili un contratto Solidity, il compilatore restituisce l'ABI in formato JSON. Puoi salvare questi dati JSON in un file, ad esempiocontrattoAbi.jsone quindi utilizzalo nel tuo progetto Node.js.
const fs = require('fs'); const abi = JSON.parse(fs.readFileSync('contractAbi.json', 'utf8'));
In questo codice utilizziamo il filefs(file system) in Node.js per leggere il contenuto del filecontrattoAbi.jsonfile. Quindi lo stiamo analizzando in un oggetto JavaScript.
Ma cosa succede se non hai scritto il contratto? Bene, se il contratto viene verificato su un blockchain explorer come Etherscan, puoi facilmente ottenere l’ABI da lì. Basta andare alla pagina del contratto su Etherscan. Cerca la scheda "Contratto" e quindi fai clic su "Codice". Lì troverai una sezione denominata "Contratto ABI". Puoi copiare l'intero ABI formattato in JSON e incollarlo in un nuovo file nel tuo progetto, proprio come abbiamo fatto prima.
Utilizzo di ethers.js per interagire con il contratto
Una volta che hai l'ABI, sei pronto per usarlo con ethers.js. Innanzitutto, dovrai connetterti a una rete Ethereum. Puoi utilizzare un nodo pubblico come Infura. Registrati per un account Infura e ottieni una chiave API.


Ecco come puoi connetterti alla rete principale di Ethereum utilizzando Infura ed ethers.js:
const { eteri } = require('eteri'); const infuraApiKey = 'LA TUA_INFURA_API_KEY'; const provider = nuovo ethers.providers.InfuraProvider('mainnet', infuraApiKey);
Successivamente, avrai bisogno dell'indirizzo del contratto. Puoi trovarlo anche su Blockchain Explorer. Combina l'ABI e l'indirizzo del contratto per creare un'istanza del contratto:
const contractAddress = '0xYOUR_CONTRACT_ADDRESS'; const contratto = nuovo ethers.Contract(contractAddress, abi, provider);
Ora puoi iniziare a interagire con il contratto. Ad esempio, se il contratto ha una funzione chiamatagetSomeData, puoi chiamarlo così:
funzione asincrona getData() { const data = attendono contract.getSomeData(); console.log(dati); } getData();
Diverse applicazioni degli eteri e dei loro collegamenti
In qualità di fornitore di eteri, vorrei anche menzionare alcuni degli eteri che forniamo e le loro applicazioni. AbbiamoEtere metilico del glicole dipropilenico (DPM). Il DPM è ampiamente utilizzato nel settore industriale. È un ottimo solvente per rivestimenti, inchiostri e detergenti. Ha buone proprietà di solubilità ed evaporazione, che lo rendono adatto a una varietà di applicazioni.
Un altro prodotto popolare èEtere monobutilico del glicole trietilenico (TBG, TB). Il TBG viene spesso utilizzato nell'industria tessile per i processi di tintura e finissaggio. Aiuta a sciogliere i coloranti e a migliorare la solidità del colore dei tessuti.
E poi c'èMetil-terz-butil etere (MTBE). L'MTBE viene utilizzato principalmente come esaltatore di ottano nella benzina. Aiuta a migliorare l'efficienza di combustione dei motori e riduce le emissioni nocive.
Conclusioni e invito al contatto
Quindi ecco qua! Una guida passo passo su come ottenere il contratto ABI con ethers.js. Che tu sia uno sviluppatore che desidera interagire con contratti intelligenti o semplicemente qualcuno interessato all'ecosistema Ethereum, spero che questo post sul blog sia stato utile.
Se sei nel mercato degli eteri per applicazioni industriali o di altro tipo, non esitare a contattarci. Siamo qui per rispondere a qualsiasi domanda tu possa avere e aiutarti con le tue esigenze di approvvigionamento. Facciamo una chiacchierata e vediamo come possiamo lavorare insieme!
Riferimenti
- Documentazione ufficiale di Ethereum
- Documentazione ufficiale di Ethers.js
- Base di conoscenza di Etherscan





