Salt la conținutul principal

Noțiuni de bază despre dezvoltare în Ethereum

noțiuni de bazăjavascriptethers.jsnoduriinterogareaalchemy
Începător
Elan Halpern
Mediu(opens in a new tab)
30 octombrie 2020
4 minute de citit minute read

Logouri Ethereum și Alchemy

Acesta este un ghid pentru începători ca să se familiarizeze cu dezvoltarea în Ethereum. Pentru acest tutorial vom folosi Alchemy(opens in a new tab), principala platformă de dezvoltare blockchain care activează milioane de utilizatori din 70% dintre aplicațiile blockchain de top, inclusiv Maker, 0x, MyEtherWallet, Dharma și Kyber. Alchemy ne va oferi accesul la un endpoint API pe lanțul Ethereum, ca să putem citi și scrie tranzacții.

Începem de la înregistrarea la Alchemy și te îndrumăm până la scrierea primul script web3! Nu este necesară o experiență de programator blockchain!

1. Înregistrează-te pentru un cont Alchemy gratuit

Crearea unui cont cu Alchemy este ușoară, înregistrează-te gratuit aici(opens in a new tab).

2. Crearea unei aplicații Alchemy

Pentru a comunica cu lanțul Ethereum și pentru a utiliza produsele Alchemy, aveți nevoie de o cheie API pentru a vă autentifica cererile.

Poți crea chei API din tabloul de bord(opens in a new tab). Pentru a crea o cheie nouă, navighează la „Creare aplicație” după cum se arată mai jos:

Mulțumiri speciale site-ului ShapeShift(opens in a new tab) pentru că ne permite să arătăm tabloul de bord!

Tabloul de bord Alchemy

Completează detaliile sub „Creare aplicație” pentru a obține noua cheie. De easemenea, aici poți să vezi aplicațiile pe care le-ai făcut anterior și cele făcute de echipa ta. Trage cheile existente făcând clic pe „Vizualizare cheie” pentru orice aplicație.

Creează aplicații cu captura de ecran Alchemy

Poți trage, de asemenea, cheile API existente prin trecerea peste „Apps” și selectând una. Puteți să „Vizualizați cheia” aici și vă puteți „Edita aplicația” pentru a lista în alb anumite domenii, pentru a vedea mai multe instrumente pentru dezvoltare și pentru a vizualiza datele analitice.

Gif care arată unui utilizator să tragă cheile API

3. Efectuarea unei solicitări din linia de comandă

Interacționează cu blockchain-ul Ethereum prin Alchemy folosind JSON-RPC și curl.

Pentru solicitări manuale, îți recomandăm să interacționezi cu JSON-RPC prin intermediul solicitărilor POST. Este suficient să introduci antetul Content-Type: application/json și interogarea ta ca POST cu următoarele câmpuri:

  • jsonrpc: Versiunea JSON-RPC — în prezent, numai 2.0 este acceptată.
  • Method: Metoda ETH API. Consultă referința API.(opens in a new tab)
  • params: O listă a parametrilor care trebuie să treacă la metodă.
  • id: ID-ul solicitării tale. Va fi returnat de răspuns, astfel încât să poți urmări cererea căreia aparține un răspuns.

Iată un exemplu pe care îl poți rula din linia de comandă pentru a recupera prețul curent al gazului:

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

NOTE: Replace https://eth-mainnet.alchemyapi.io/v2/demo(opens in a new tab) with your own API key https://eth-mainnet.alchemyapi.io/v2/**your-api-key**.

Rezultate:

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

4. Configurează clientul Web3

Dacă aveți un client existent, modificați adresa URL a furnizorului actual al nodului printr-un URL Alchemy cu cheia dvs. API: "https://eth-mainnet.alchemyapi.io/v2/your-api-key"

NOTĂ: Script-urile de mai jos trebuie să fie rulate într-un context nod sau salvate într-un fișier, nu rulează de la linia de comandă. Dacă nu ai instalat deja Node sau npm, consultă acest ghid de configurare pentru mac(opens in a new tab)-uri.

Există tone de biblioteci Web3(opens in a new tab) pe care le poți integra cu Alchemy, totuși, îți recomandăm să folosești Alchemy Web3(opens in a new tab), un înlocuitor treptat pentru web3.js, construit și configurat pentru a funcționa perfect cu Alchemy. Acesta oferă mai multe avantaje, cum ar fi reîncercări automate și suport robust WebSocket.

Pentru a instala AlchemyWeb3.js, navigă la directorul proiectului tău și rulează:

Cu Yarn:

1yarn add @alch/alchemy-web3

Cu NPM:

1npm install @alch/alchemy-web3

Pentru a interacționa cu infrastructura nodului Alchemy, rulează în NodeJS sau adaugă aceasta într-un fișier JavaScript:

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

5. Scrie primul Web3 Script!

Acum, pentru a ne murdări pe mâini cu puțină programare web3, vom scrie un script simplu, care imprimă cel mai recent număr de bloc de pe rețeaua principală Ethereum.

1. If you haven’t already, in your terminal create a new project directory and cd into it:

1mkdir web3-example
2cd web3-example

2. Install the Alchemy web3 (or any web3) dependency into your project if you have not already:

1npm install @alch/alchemy-web3

3. Create a file named index.js and add the following contents:

În cele din urmă, ar trebui să înlocuiești demo cu cheia API Alchemy HTTP.

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()
Copiați

Unfamiliar with the async stuff? Check out this Medium post(opens in a new tab).

4. Run it in your terminal using node

1node index.js

5. You should now see the latest block number output in your console!

1Cel mai recent număr de bloc este 11.043.912

Woo! Felicitări! You just wrote your first web3 script using Alchemy 🎉

Not sure what to do next? Try deploying your first smart contract and get your hands dirty with some solidity programming in our Hello World Smart Contract Guide(opens in a new tab), or test your dashboard knowledge with the Dashboard Demo App(opens in a new tab)!

Înregistrează-te la Alchemy gratis(opens in a new tab), consultă documentația(opens in a new tab) și, pentru cele mai recente știri, urmărește-ne pe Twitter(opens in a new tab).

Ultima modificare: @nicklcanada(opens in a new tab), 15 august 2023

A fost util acest tutorial?