Ana içeriğe geç

Ethereum Geliştirmeye Başlarken

javascriptethers.jsdüğümlersorgulamaalchemy
Acemi
Elan Halpern
Medium(opens in a new tab)
30 Ekim 2020
3 dakikalık okuma minute read

Ethereum ve Alchemy logoları

Bu, Ethereum geliştirmeye başlamak için bir başlangıç rehberidir. Bu eğitim için; Maker, 0x, MyEtherWallet, Dharma ve Kyber dahil en iyi blok zinciri uygulamalarının %70'inden milyonlarca kullanıcıya destek veren lider blok zinciri geliştirici platformu Alchemy(opens in a new tab)'yi kullanacağız. Alchemy, işlemleri okuyup yazabilmemiz için Ethereum zincirindeki bir API uç noktasına erişmemizi sağlayacak.

Sizi Alchemy'ye kaydolmaktan ilk web3 komut dosyanızı yazmaya götüreceğiz! Blok zinciri geliştirme deneyimi gerekmez!

1. Ücretsiz Alchemy Hesabı için Üye Olun

Alchemy ile bir hesap oluşturmak kolaydır, buradan ücretsiz üye olun(opens in a new tab).

2. Bir Alchemy Uygulaması Oluşturun

Ethereum zinciriyle iletişim kurmak ve Alchemy'nin ürünlerini kullanmak amacıyla isteklerinizi doğrulamak için bir API anahtarına ihtiyacınız var.

Gösterge panelinden API anahtarları oluşturabilirsiniz(opens in a new tab). Yeni bir anahtar oluşturmak için aşağıda gösterildiği gibi "Create App"e (Uygulama Oluştur) gidin:

ShapeShift(opens in a new tab)'e gösterge panelini göstermemize izin verdiği için teşekkür ederiz!

Alchemy gösterge paneli

Yeni anahtarınızı almak için "Create App" altındaki ayrıntıları doldurun. Ayrıca daha önce yaptığınız uygulamaları ve ekibiniz tarafından yapılanları burada görebilirsiniz. Herhangi bir uygulama için "View Key"ye (Anahtarı Görüntüle) tıklayarak var olan anahtarları alabilirsiniz.

Alchemy ile uygulama oluşturma ekran görüntüsü

Ayrıca, "Apps"in (Uygulamalar) üzerine gelip birini seçerek mevcut API anahtarlarını da alabilirsiniz. Burada anahtarı görüntüleyebilir, belirli alanları beyaz listeye almak için "Edit App"e tıklayabilir, çeşitli geliştirici araçlarını görebilir ve analizleri görüntüleyebilirsiniz.

Bir kullanıcıya API anahtarlarının nasıl alınacağını gösteren GIF

3. Komut Satırından İstekte Bulunun

JSON-RPC ve curl kullanarak Alchemy aracılığıyla Ethereum blok zinciriyle etkileşim kurun.

Manuel istekler için JSON-RPC ile POST istekleri aracılığıyla etkileşim kurmanızı öneririz. Content-Type: application/json başlığını ve sorgunuzu aşağıdaki alanlarla birlikte POST gövdesi olarak iletmeniz yeterlidir:

  • jsonrpc: JSON-RPC versiyonu. Şu anda, sadece 2.0 desteklidir.
  • method: ETH API yöntemi. API referansına bakınız.(opens in a new tab)
  • params: Yönteme geçirilecek parametre listesi.
  • id: İsteğinizin ID'si. Bir yanıtın hangi isteğe ait olduğunu takip edebilmeniz için yanıt tarafından döndürülür.

Mevcut gaz fiyatını almak için komut satırından çalıştırabileceğiniz bir örnek:

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

NOT: https://eth-mainnet.alchemyapi.io/v2/demo(opens in a new tab) bağlantısını kendi API anahtarınızla değiştirin https://eth-mainnet.alchemyapi.io/v2/**your-api-key.

Sonuçlar:

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

4. Web3 İstemcinizi kurun

Mevcut bir istemciniz varsa, API anahtarınızla mevcut düğüm sağlayıcı URL'nizi bir Alchemy URL'si olarak değiştirin: “https://eth-mainnet.alchemyapi.io/v2/your-api-key"

NOT: Aşağıdaki komut dosyaları düğüm bağlamında çalıştırılmalı veya bir dosyaya kaydedilmeli, komut satırından çalıştırılmamalı. Eğer hâlihazırda Node veya npm kurulu değilse, bu hızlı mac kurulum rehberine(opens in a new tab) bir göz atın.

Alchemy ile entegre edebileceğiniz tonlarca Web3 kütüphanesi(opens in a new tab) bulunur ancak web3.js'nin yerine bir eklenti olan Alchemy Web3(opens in a new tab), Alchemy ile sorunsuz çalışacak şekilde oluşturulmuş ve yapılandırılmıştır. Bu, otomatik yeniden denemeler ve güçlü WebSocket desteği gibi birçok avantaj sağlar.

AlchemyWeb3.js'yi yüklemek için proje dizininize gidin ve şunu çalıştırın:

Yarn ile:

1yarn add @alch/alchemy-web3

NPM ile:

1npm install @alch/alchemy-web3

Alchemy'nin düğüm altyapısıyla etkileşim kurmak için NodeJS'de çalıştırın veya bunu bir JavaScript dosyasına ekleyin:

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

5. İlk Web3 Komut Dosyanızı Yazın!

Şimdi web3 programlamasına ufak bir dalış yapmak için Ethereum Mainnet'ten en son blok numarasını yazdıran basit bir komut dosyası yazacağız.

1. Henüz yapmadıysanız, terminalinizde yeni bir proje dizini oluşturun ve içine cd ekleyin:

1mkdir web3-example
2cd web3-example

2. Henüz yapmadıysanız, Alchemy web3 (veya herhangi bir web3) bağımlılığını projenize yükleyin:

1npm install @alch/alchemy-web3

3. index.js adlı bir dosya oluşturun ve aşağıdaki içerikleri ekleyin:

Sonunda demo'yu Alchemy HTTP API anahtarınızla değiştirmelisiniz.

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

async ile ilgili şeylere aşina değil misiniz? Bu Medium gönderisine(opens in a new tab) bir göz atın.

4. Node kullanarak komut satırınızda çalıştırın

1node index.js

5. Şimdi konsolunuzda en son blok numarası çıktısını görmelisiniz!

1The latest block number is 11043912

Oley! Tebrikler! Alchemy kullanarak ilk web3 komut dosyanızı yazdınız 🎉

Şimdi ne yapacağınızdan emin değil misiniz? İlk akıllı sözleşmenizi dağıtmayı deneyin ve Merhaba Dünya Akıllı Sözleşme Kılavuzumuzda(opens in a new tab) biraz sağlamlık programlamasıyla uğraşın veya Dashboard Demo App(opens in a new tab) ile gösterge paneli bilginizi test edin!

Alchemy'ye ücretsiz kaydolun(opens in a new tab), belgelerimize(opens in a new tab) göz atın ve en son haberler için bizi Twitter(opens in a new tab) adresinden takip edin.

Son düzenleme: @kaanmetu(opens in a new tab), 23 Kasım 2023

Bu rehber yararlı oldu mu?