Ruka hadi kwenye maudhui makuu
Change page

Maktaba za JavaScript API

Ukurasa ulisasishwa mwisho: 25 Februari 2026

Ili programu ya wavuti iweze kuingiliana na mnyororo wa bloku wa Ethereum (yaani, kusoma data ya mnyororo wa bloku na/au kutuma miamala kwenye mtandao), lazima iunganishwe na nodi ya Ethereum.

Kwa madhumuni haya, kila mteja wa Ethereum hutekeleza vipimo vya JSON-RPC, kwa hivyo kuna seti sare ya mbinu ambazo programu zinaweza kutegemea.

Ikiwa unataka kutumia JavaScript kuungana na nodi ya Ethereum, inawezekana kutumia JavaScript tupu lakini maktaba kadhaa za kurahisisha zipo ndani ya mfumo ikolojia zinazofanya hili kuwa rahisi zaidi. Kwa maktaba hizi, wasanidi programu wanaweza kuandika njia angavu, za mstari mmoja ili kuanzisha maombi ya JSON-RPC (chini ya pazia) yanayoingiliana na Ethereum.

Tafadhali kumbuka kuwa tangu Muungano, sehemu mbili zilizounganishwa za programu ya Ethereum - mteja wa utekelezaji na mteja wa makubaliano - zinahitajika ili kuendesha nodi. Tafadhali hakikisha nodi yako inajumuisha mteja wa utekelezaji na mteja wa makubaliano. Ikiwa nodi yako haiko kwenye mashine yako ya karibu (k.m., nodi yako inaendeshwa kwenye kielelezo cha AWS) sasisha anwani za IP katika mafunzo ipasavyo. Kwa maelezo zaidi tafadhali angalia ukurasa wetu kuhusu kuendesha nodi.

Mahitaji ya awali

Pamoja na kuelewa JavaScript, inaweza kusaidia kuelewa rundo la Ethereum na wateja wa Ethereum.

Kwa nini utumie maktaba?

Maktaba hizi hurahisisha sehemu kubwa ya utata wa kuingiliana moja kwa moja na nodi ya Ethereum. Pia hutoa kazi za matumizi (k.m., kubadilisha ETH kwenda Gwei) hivyo kama msanidi programu unaweza kutumia muda mfupi kushughulikia ugumu wa wateja wa Ethereum na muda mwingi zaidi kulenga utendaji wa kipekee wa programu yako.

Vipengele vya maktaba

Ungana na nodi za Ethereum

Kwa kutumia watoa huduma, maktaba hizi zinakuruhusu kuungana na Ethereum na kusoma data yake, iwe ni kupitia JSON-RPC, INFURA, Etherscan, Alchemy au MetaMask.

Onyo: Web3.js iliwekwa kwenye kumbukumbu tarehe 4 Machi 2025. Soma tangazo (opens in a new tab). Fikiria kutumia maktaba mbadala kama ethers.js (opens in a new tab) au viem (opens in a new tab) kwa miradi mipya.

Mfano wa Ethers

// A BrowserProvider wraps a standard Web3 provider, which is
// what MetaMask injects as window.ethereum into each page
const provider = new ethers.BrowserProvider(window.ethereum)

// The MetaMask plugin also allows signing transactions to
// send ether and pay to change state within the blockchain.
// For this, we need the account signer...
const signer = provider.getSigner()

Mfano wa Web3js

Baada ya kusanidi utaweza kuuliza mnyororo wa bloku kwa:

  • nambari za bloku
  • makadirio ya gesi
  • matukio ya mkataba-erevu
  • kitambulisho cha mtandao
  • na zaidi...

Utendaji wa mkoba

Maktaba hizi hukupa utendaji wa kuunda mikoba, kusimamia funguo na kusaini miamala.

Huu hapa ni mfano kutoka kwa Ethers

Soma hati kamili (opens in a new tab)

Baada ya kusanidi utaweza:

  • kuunda akaunti
  • kutuma miamala
  • kusaini miamala
  • na zaidi...

Ingiliana na utendaji wa mkataba-erevu

Maktaba za wateja za JavaScript huruhusu programu yako kuita utendaji wa mkataba-erevu kwa kusoma Kiolesura cha Binary cha Programu (ABI) ya mkataba uliokusanywa.

Kimsingi ABI inaelezea utendaji wa mkataba katika muundo wa JSON na hukuruhusu kuitumia kama kitu cha kawaida cha JavaScript.

Kwa hivyo mkataba ufuatao wa Solidity:

Itasababisha JSON ifuatayo:

Hii inamaanisha unaweza:

  • Tuma muamala kwa mkataba-erevu na utekeleze mbinu yake
  • Piga simu ili kukadiria gesi ambayo utekelezaji wa mbinu utachukua unapotekelezwa katika EVM
  • Sambaza mkataba
  • Na zaidi...

Utendaji wa matumizi

Utendaji wa matumizi hukupa njia za mkato zinazofaa ambazo hufanya ujenzi na Ethereum kuwa rahisi kidogo.

Thamani za ETH ziko katika Wei kwa chaguo-msingi. ETH 1 = WEI 1,000,000,000,000,000,000 – hii inamaanisha unashughulika na nambari nyingi! web3.utils.toWei hubadilisha ether kuwa Wei kwa ajili yako.

Na katika ethers inaonekana kama hivi:

// Get the balance of an account (by address or ENS name)
balance = await provider.getBalance("ethers.eth")
// { BigNumber: "2337132817842795605" }

// Often you will need to format the output for the user
// which prefer to see values in ether (instead of wei)
ethers.utils.formatEther(balance)
// '2.337132817842795605'

Maktaba zinazopatikana

Web3.js - API ya JavaScript ya Ethereum.

Ethers.js - Utekelezaji kamili wa mkoba wa Ethereum na huduma katika JavaScript na TypeScript.

The Graph - Itifaki ya kuorodhesha data ya Ethereum na IPFS na kuiuliza kwa kutumia GraphQL.

Alchemy SDK - Kifuniko karibu na Ethers.js na api zilizoboreshwa.

viem - Kiolesura cha TypeScript cha Ethereum.

Drift - Maktaba-meta ya TypeScript iliyo na kashe iliyojengewa ndani, ndoano, na dhihaka za majaribio.

Masomo zaidi

Unajua rasilimali ya jamii iliyokusaidia? Hariri ukurasa huu na uiongeze!_

Je, makala haya yalikuwa ya msaada?