Здравейте! Като доставчик на ethers често ме питат как да получа договора ABI с ethers.js. В тази публикация в блога ще го разбия за вас стъпка по стъпка.
Първо, нека набързо да поговорим за това какво е договор ABI. ABI означава двоичен интерфейс на приложението. По същество това е JSON - подобно на описание на това как можем да взаимодействаме с интелигентен договор в блокчейна на Ethereum. Той ни казва за функциите, налични в договора, какви параметри приемат и какъв вид данни връщат. Изключително важно е, ако искате да извършвате обаждания към интелигентен договор с помощта на ethers.js.
Предпоставки
Преди да се потопите в получаването на ABI, трябва да настроите няколко неща. Ще трябва да имате инсталиран Node.js на вашата машина. Можете да отидете на официалния уебсайт на Node.js и да изтеглите подходящата версия за вашата операционна система.
След като Node.js е инсталиран, отворете вашия терминал. Предполагам, че сте донякъде запознати с използването на терминала тук. Не се притеснявайте, ако не сте професионалист; не е толкова трудно. Отидете до директорията, където искате да управлявате проекта си, и изпълнете следната команда, за да инициализирате нов проект Node.js:
npm init -y
The-ифлаг просто пропуска всички въпроси и създава apackage.jsonфайл с настройки по подразбиране. товаpackage.jsonфайлът е супер удобен, тъй като следи всички зависимости, от които се нуждае вашият проект.
След това ще трябва да инсталиратеethers.js. Това е наистина популярна JavaScript библиотека за взаимодействие с блокчейна Ethereum. Инсталирайте го, като използвате следната команда във вашия терминал:
npm инсталирайте етери
Намиране на ABI на договора
Има няколко начина да получите договора ABI. Един от начините е, ако сами сте написали интелигентния договор и сте го компилирали с помощта на компилатор като този на Solidityсолц. Когато компилирате договор Solidity, компилаторът извежда ABI във формат JSON. Можете да запишете тези JSON данни във файл, да речемcontractAbi.jsonи след това го използвайте във вашия проект Node.js.
const fs = изискване ('fs'); const abi = JSON.parse(fs.readFileSync('contractAbi.json', 'utf8'));
В този код ние използвамеfs(файлова система) модул в Node.js за четене на съдържанието наcontractAbi.jsonфайл. След това го анализираме в JavaScript обект.
Но какво ще стане, ако не сте написали договора? Е, ако договорът е проверен в блокчейн изследовател като Etherscan, можете лесно да получите ABI от там. Просто отидете на страницата на договора в Etherscan. Потърсете раздела „Договор“ и след това щракнете върху „Код“. Там ще намерите раздел с надпис „Договор ABI“. Можете да копирате целия JSON форматиран ABI и да го поставите в нов файл във вашия проект, точно както направихме преди.
Използване на ethers.js за взаимодействие с договора
След като имате ABI, вие сте готови да го използвате с ethers.js. Първо ще трябва да се свържете с мрежа на Ethereum. Можете да използвате публичен възел като Infura. Регистрирайте се за акаунт в Infura и получете API ключ.


Ето как можете да се свържете с основната мрежа на Ethereum с помощта на Infura и ethers.js:
const { ethers } = require('ethers'); const infuraApiKey = 'ВАШИЯ_INFURA_API_KEY'; const доставчик = нов ethers.providers.InfuraProvider('mainnet', infuraApiKey);
След това ще ви трябва адресът на договора. Можете да намерите това и в blockchain explorer. Комбинирайте ABI и адреса на договора, за да създадете екземпляр на договор:
const contractAddress = '0xYOUR_CONTRACT_ADDRESS'; const договор = нов ethers.Contract(contractAddress, abi, доставчик);
Сега можете да започнете да взаимодействате с договора. Например, ако договорът има функция, нареченаgetSomeData, можете да го наречете така:
асинхронна функция getData() { const данни = изчакайте contract.getSomeData(); console.log(данни); } getData();
Различни приложения на етери и техните връзки
Като доставчик на етери, бих искал също да спомена някои от етерите, които доставяме, и техните приложения. ИмамеДипропилен гликол метил етер (DPM). DPM се използва широко в индустриалния сектор. Той е чудесен разтворител за покрития, мастила и почистващи препарати. Има добри свойства на разтворимост и изпаряване, което го прави подходящ за различни приложения.
Друг популярен продукт еТриетилен гликол монобутилов етер (TBG, TB). TBG често се използва в текстилната промишленост за процеси на боядисване и довършителни работи. Помага за разтваряне на багрила и подобряване на устойчивостта на цвета на тъканите.
И тогава имаМетил терт-бутил етер (MTBE). MTBE се използва главно като подобрител на октановото число в бензина. Помага за подобряване на ефективността на горене на двигателите и намалява вредните емисии.
Приключване и покана за контакт
И така, ето го! Ръководство стъпка по стъпка за това как да получите ABI на договора с ethers.js. Независимо дали сте разработчик, който иска да взаимодейства с интелигентни договори, или просто някой, който се интересува от екосистемата Ethereum, надявам се, че тази публикация в блога е била полезна.
Ако сте на пазара за етери за индустриални или други приложения, не се колебайте да се свържете с нас. Ние сме тук, за да отговорим на всички въпроси, които може да имате, и да ви помогнем с вашите нужди от доставки. Нека си поговорим и да видим как можем да работим заедно!
Референции
- Официална документация на Ethereum
- Ethers.js официална документация
- База знания на Etherscan





