Ruka kwenda kwenye maudhui makuu

Kuanza na Uundaji wa Ethereum

JavaScript
ethers.js
nodi
kuuliza
Alchemy
Mwanzo
Elan Halpern
30 Oktoba 2020
4 soma ndani ya dakika

Nembo za Ethereum na Alchemy

Huu ni mwongozo wa wanaoanza jinsi ya kuanza na uundaji wa Ethereum. Kwa mafunzo haya tutakuwa tunatumia Alchemy (opens in a new tab), jukwaa linaloongoza la wasanidi wa blockchain linalowezesha mamilioni ya watumiaji kutoka 70% ya programu za juu za blockchain, ikiwa ni pamoja na Maker, 0x, MyEtherWallet, Dharma, na Kyber. Alchemy itatupa ufikiaji wa sehemu ya mwisho ya API kwenye mnyororo wa Ethereum ili tuweze kusoma na kuandika miamala.

Tutakuelekeza kutoka kujisajili na Alchemy hadi kuandika hati yako ya kwanza ya web3! Hakuna uzoefu wa uundaji wa blockchain unaohitajika!

1. Jisajili kwa Akaunti ya Bure ya Alchemy

Kufungua akaunti na Alchemy ni rahisi, jisajili bure hapa (opens in a new tab).

2. Tengeneza Programu ya Alchemy

Ili kuwasiliana na mnyororo wa Ethereum na kutumia bidhaa za Alchemy, unahitaji ufunguo wa API ili kuthibitisha maombi yako.

Unaweza kutengeneza funguo za API kutoka kwenye dashibodi (opens in a new tab). Ili kutengeneza ufunguo mpya, nenda kwa “Tengeneza Programu” kama inavyoonyeshwa hapa chini:

Shukrani za pekee kwa ShapeShift (opens in a new tab) kwa kuturuhusu kuonyesha dashibodi yao!

Dashibodi ya Alchemy

Jaza maelezo chini ya “Tengeneza Programu” ili kupata ufunguo wako mpya. Unaweza pia kuona programu ulizotengeneza awali na zile zilizotengenezwa na timu yako hapa. Pata funguo zilizopo kwa kubofya “Angalia Ufunguo” kwa programu yoyote.

Picha ya skrini ya kutengeneza programu na Alchemy

Unaweza pia kupata funguo za API zilizopo kwa kuelea juu ya “Programu” na kuchagua moja. Unaweza “Angalia Ufunguo” hapa, pamoja na “Hariri Programu” ili kuidhinisha vikoa maalum, kuona zana kadhaa za wasanidi, na kutazama takwimu.

Gif inayoonyesha mtumiaji jinsi ya kupata funguo za API

3. Fanya Ombi kutoka kwa Mstari wa Amri

Wasiliana na blockchain ya Ethereum kupitia Alchemy ukitumia JSON-RPC na curl.

Kwa maombi ya moja kwa moja, tunapendekeza kuwasiliana na JSON-RPC kupitia maombi ya POST. Peleka tu kichwa cha Content-Type: application/json na swali lako kama kiwiliwili cha POST na sehemu zifuatazo:

  • jsonrpc: Toleo la JSON-RPC—kwa sasa, ni 2.0 pekee inayotumika.
  • method: Mbinu ya API ya ETH. Angalia marejeleo ya API. (opens in a new tab)
  • params: Orodha ya vigezo vya kupitisha kwenye mbinu.
  • id: Kitambulisho cha ombi lako. Itarejeshwa na jibu ili uweze kufuatilia ni ombi gani jibu linahusu.

Huu ni mfano unaoweza kuendesha kutoka kwa mstari wa amri ili kupata bei ya sasa ya gesi:

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}'

KUMBUKA: Badilisha https://eth-mainnet.alchemyapi.io/v2/demo (opens in a new tab) na ufunguo wako mwenyewe wa API https://eth-mainnet.alchemyapi.io/v2/**your-api-key.

Matokeo:

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

4. Sanidi Mteja wako wa Web3

Ikiwa una mteja aliyepo, badilisha URL ya mtoa huduma wako wa sasa wa nodi kuwa URL ya Alchemy na ufunguo wako wa API: “https://eth-mainnet.alchemyapi.io/v2/your-api-key"

KUMBUKA: Hati zilizo hapa chini zinahitaji kuendeshwa katika mazingira ya nodi au kuhifadhiwa kwenye faili, sio kuendeshwa kutoka kwa mstari wa amri. Ikiwa bado hujasakinisha Node au npm, angalia mwongozo huu wa haraka wa usanidi kwa macs (opens in a new tab).

Kuna maktaba nyingi za Web3 (opens in a new tab) unazoweza kuunganisha na Alchemy, hata hivyo, tunapendekeza kutumia Alchemy Web3 (opens in a new tab), mbadala wa moja kwa moja wa web3.js, iliyoundwa na kusanidiwa kufanya kazi bila mshono na Alchemy. Hii inatoa faida nyingi kama vile majaribio ya kiotomatiki na usaidizi thabiti wa WebSocket.

Ili kusakinisha AlchemyWeb3.js, nenda kwenye saraka yako ya mradi na endesha:

Kwa kutumia Yarn:

1yarn add @alch/alchemy-web3

Kwa kutumia NPM:

1npm install @alch/alchemy-web3

Ili kuwasiliana na miundombinu ya nodi ya Alchemy, endesha katika NodeJS au ongeza hii kwenye faili ya JavaScript:

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

5. Andika Hati yako ya kwanza ya Web3!

Sasa ili tuanze kufanya kazi na programu ndogo ya web3, tutaandika hati rahisi inayochapisha nambari ya bloku ya hivi karibuni kutoka kwa Mtandao Mkuu wa Ethereum.

1. Ikiwa bado hujafanya hivyo, kwenye terminal yako tengeneza saraka mpya ya mradi na ingia ndani yake (cd):

1mkdir web3-example
2cd web3-example

2. Sakinisha tegemeo la Alchemy web3 (au web3 yoyote) kwenye mradi wako ikiwa bado hujafanya hivyo:

1npm install @alch/alchemy-web3

3. Tengeneza faili inayoitwa index.js na ongeza yaliyomo yafuatayo:

Mwishowe unapaswa kubadilisha demo na ufunguo wako wa Alchemy HTTP API.

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("Nambari ya bloku ya hivi karibuni ni " + blockNumber)
6}
7main()

Hufahamu mambo ya async? Angalia chapisho hili la Medium (opens in a new tab).

4. Endesha kwenye terminal yako ukitumia node

1node index.js

5. Sasa unapaswa kuona tokeo la nambari ya bloku ya hivi karibuni kwenye konsoli yako!

1Nambari ya bloku ya hivi karibuni ni 11043912

Shwari! Hongera! Umeandika hati yako ya kwanza ya web3 ukitumia Alchemy 🎉

Huna uhakika nini cha kufanya baadaye? Jaribu kuweka mkataba-erevu wako wa kwanza na uanze kufanya kazi na programu za Solidity kwenye Mwongozo wetu wa Mkataba-erevu wa Hello World (opens in a new tab), au jaribu ujuzi wako wa dashibodi na Programu ya Demo ya Dashibodi (opens in a new tab)!

Jisajili na Alchemy bure (opens in a new tab), angalia nyaraka (opens in a new tab) zetu, na kwa habari za hivi karibuni, tufuate kwenye Twitter (opens in a new tab).

Ukurasa ulihaririwa mwisho: 3 Machi 2026

Umesaidika na mafunzo haya?