Lanjut ke konten utama

Bantu memperbarui halaman ini

🌏

Terdapat versi baru halaman ini namun sementara ini hanya dalam bahasa Inggris. Bantu kami menerjemahkan versi terkini.

Terjemahkan halaman
Lihat Bahasa Inggris

Tidak ada bug di sini!🐛

Halaman ini tidak diterjemahkan. Untuk saat ini kami sengaja membiarkan halaman ini dalam bahasa Inggris.

Memulai Pengembangan Ethereum

memulaijavascriptethers.jsnodemembuat kuerialchemy
Pemula
✍️Elan Halpern
📚Sedang
📆30 Oktober 2020
⏱️4 bacaan singkat

Ethereum dan logo Alchemy

Ini adalah panduan bagi pemula untuk memulai pengembangan Ethereum. Untuk tutorial ini, kita akan menggunakan Alchemy, 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.

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. Untuk membuat kunci baru, arahkan ke "Create App" seperti contoh dibawah:

Terima kasih banyak untuk ShapeShift 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.
  • 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 with your own API key https://eth-mainnet.alchemyapi.io/v2/**your-api-key**.

Hasil:

1{ "id": 73,"jsonrpc": "2.0","result": "0x09184e72a000" // 10000000000000 }
2
📋 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 singkat ini.

Ada banyak sekali pustaka Web3 yang bisa Anda integrasikan dengan Alchemy, namun, kami merekomendasikan menggunakan Web3 Alchemy, 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
2

Dengan NPM:

1npm install @alch/alchemy-web3
2

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)
5
📋 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
3

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

1npm install @alch/alchemy-web3
2

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

Tidak familiar dengan async? Lihat postingan Medium berikut ini.

4. Jalankan di terminal Anda menggunakan node

1node index.js
2

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

1The latest block number is 11043912
2

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, or test your dashboard knowledge with the Dashboard Demo App!

Daftar Alchemy secara gratis, lihat dokumentasi kami, dan untuk berita terbaru, ikuti kami di Twitter.

Terakhir diedit: , Invalid DateTime
Edit halaman

Apakah halaman ini membantu?