Lanjut ke konten utama

Memulai Pengembangan Ethereum

memulaijavascriptethers.jsnodemembuat kuerialchemy
Pemula
Elan Halpern
Sedang(opens in a new tab)
30 Oktober 2020
4 bacaan singkat minute read

Ethereum dan logo Alchemy

Ini adalah panduan bagi pemula untuk memulai pengembangan Ethereum. Untuk tutorial ini, kita akan menggunakan Alchemy(opens in a new tab), pelopor platform developer blockchain yang mendukung jutaan pengguna dari 70% aplikasi blockchain teratas, termasuk Maker, 0x, MyEtherWallet, Dharma, dan Kyber. Alchemy akan memberi kita akses ke titik akhir API di rantai Ethereum sehingga kita dapat membaca dan menulis transaksi.

Kami akan memandu Anda mulai dari mendaftar di Alchemy hingga menulis skrip web3 pertama Anda! Pengalaman pengembangan blockchain tidak diperlukan!

1. Mendaftar Akun Alchemy Secara Gratis

Membuat akun Alchemy itu mudah, daftar secara gratis di sini(opens in a new tab).

2. Membuat Aplikasi Alchemy

Untuk berkomunikasi dengan rantai Ethereum dan menggunakan produk-produk Alchemy, Anda memerlukan kunci API untuk mengotentikasi permintaan Anda.

Anda bisa membuat kunci API dari dasbor(opens in a new tab). Untuk membuat kunci baru, arahkan ke "Create App" seperti contoh dibawah:

Terima kasih banyak untuk ShapeShift(opens in a new tab) yang telah mengizinkan kami menampilkan dasbor mereka!

Dasbor Alchemy

Isi detail di bawah "Create App" untuk mendapatkan kunci baru. Anda juga bisa melihat aplikasi yang sebelumnya Anda buat dan yang dibuat oleh tim Anda di sini. Tarik kunci yang ada dengan mengklik "View Key" untuk aplikasi apa pun.

Buat aplikasi dengan tangkapan layar Alchemy

Anda juga bisa menarik kunci API yang sudah ada dengan mengarahkan kursor ke "Apps" dan pilih salah satu. Anda bisa "View Key" disini, juga "Edit App" untuk memasukkan domain tertentu ke whitelist, melihat beberapa peralatan developer, dan melihat analitik.

Gif yang menampilkan ke pengguna bagaimana cara menarik kunci API

3. Membuat permintaan dari Baris Perintah

Berinteraksi dengan blockchain Ethereum melalui Alchemy menggunakan JSON-RPC dan curl.

Untuk permintaan manual, kami merekomendasikan berinteraksi dengan JSON-RPC via permintaan POST. Cukup teruskan dalam header Content-Type: application/json dan kueri Anda sebagai isi POST yang berisi field sebagai berikut:

  • jsonrpc: Versi JSON-RPC — saat ini, hanya versi 2.0 yang didukung.
  • method: Metode API ETH. Lihat referensi API.(opens in a new tab)
  • params: Daftar parameter untuk diteruskan ke metode.
  • id: ID permintaan Anda. Akan dikembalikan oleh tanggapan, jadi Anda tetap bisa melacak permintaan mana yang ditanggapi.

Berikut contoh yang bisa Anda jalankan di baris perintah untuk mengambil harga gas saat ini:

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**.

Hasil:

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

4. Menyiapkan Client Web3 Anda

Jika Anda sudah memiliki klien, ganti URL penyedia node Anda saat ini ke URL Alchemy dengan kunci API Anda: “https://eth-mainnet.alchemyapi.io/v2/your-api-key"

CATATAN: Skrip di bawah harus dijalankan pada konteks node atau disimpan dalam file, jangan menjalankannya di baris perintah. Jika Anda tidak memiliki Node atau npm yang terinstal, simak panduan pengaturan untuk mac(opens in a new tab) singkat ini.

Ada banyak sekali pustaka Web3(opens in a new tab) yang bisa Anda integrasikan dengan Alchemy, namun, kami merekomendasikan menggunakan Web3 Alchemy(opens in a new tab), pengganti web3.js, yang dibuat dan dikonfigurasi agar bekerja dengan mulus dengan Alchemy. Ini menyediakan banyak keuntungan seperti percobaan ulang otomatis dan dukungan WebSocket yang kuat.

Untuk menginstal AlchemyWeb3.js, arahkan kursor ke direktori proyek Anda dan jalankan:

Dengan Yarn:

1yarn add @alch/alchemy-web3

Dengan NPM:

1npm install @alch/alchemy-web3

Untuk berinteraksi dengan infrastruktur node Alchemy, jalankan di NodeJS atau tambahkan ini ke file JavaScript:

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

5. Tulis Skrip Web3 pertama Anda!

Sekarang untuk membuat tangan kita kotor dengan sedikit pemrograman web3, kita akan menulis skrip sederhana yang mencetak nomor blok terakhir dari Jaringan Utama Ethereum.

1. Jika Anda belum memilikinya, di terminal Anda, buat direktori proyek dan cd baru kedalamnya:

1mkdir web3-example
2cd web3-example

2. Instal dependensi web3 Alchemy (atau web3 apa pun) ke proyek Anda jika belum memilikinya:

1npm install @alch/alchemy-web3

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

Pada akhirnya Anda harus mengganti demo dengan kunci API HTTP Alchemy.

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()
Salin

Tidak familiar dengan async? Lihat postingan Medium(opens in a new tab) berikut ini.

4. Jalankan di terminal Anda menggunakan node

1node index.js

5. Sekarang Anda akan melihat output nomor blok terakhir pada konsol Anda!

1The latest block number is 11043912

Woo! Selamat! 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)!

Daftar Alchemy secara gratis(opens in a new tab), lihat dokumentasi(opens in a new tab) kami, dan untuk berita terbaru, ikuti kami di Twitter(opens in a new tab).

Terakhir diedit: @yeremiaryangunadi(opens in a new tab), 15 Agustus 2023

Apakah tutorial ini membantu?