Ana içeriğe atla

Ethereum Geliştirmeye Başlarken

JavaScript
ethers.js
düğümler
sorgulama
Alchemy
Başlangıç
Elan Halpern
30 Ekim 2020
4 dakikalık okuma

Ethereum and Alchemy logos

Bu, Ethereum geliştirmeye başlamak için yeni başlayanlara yönelik bir rehberdir. Bu eğitim için Maker, 0x, MyEtherWallet, Dharma ve Kyber dahil olmak üzere en iyi blokzincir uygulamalarının %70'inden milyonlarca kullanıcıya güç veren lider blokzincir geliştirici platformu Alchemy (opens in a new tab)'yi kullanacağız. Alchemy, işlemleri okuyup yazabilmemiz için Ethereum Zinciri üzerinde bir API uç noktasına erişmemizi sağlayacaktır.

Sizi Alchemy'ye kaydolmaktan ilk Web3 betiğinizi yazmaya kadar götüreceğiz! Blokzincir geliştirme deneyimi gerekmez!

1. Ücretsiz Bir Alchemy Hesabı İçin Kaydolun

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

2. Bir Alchemy Uygulaması Oluşturun

Ethereum Zinciri ile iletişim kurmak ve Alchemy'nin ürünlerini kullanmak için, isteklerinizin kimliğini doğrulamak üzere bir API anahtarına ihtiyacınız vardır.

Kontrol 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” (Uygulama Oluştur) bölümüne gidin:

Kontrol panellerini göstermemize izin verdikleri için ShapeShift (opens in a new tab)'e özel teşekkürler!

Alchemy dashboard

Yeni anahtarınızı almak için “Create App” altındaki ayrıntıları doldurun. Ayrıca daha önce yaptığınız ve ekibiniz tarafından yapılan uygulamaları da burada görebilirsiniz. Herhangi bir uygulama için “View Key” (Anahtarı Görüntüle) seçeneğine tıklayarak mevcut anahtarları çekebilirsiniz.

Create app with Alchemy screenshot

Ayrıca “Apps” (Uygulamalar) üzerine gelip birini seçerek mevcut API anahtarlarını çekebilirsiniz. Belirli alan adlarını beyaz listeye almak, çeşitli geliştirici araçlarını görmek ve analizleri görüntülemek için burada “View Key” ve “Edit App” (Uygulamayı Düzenle) işlemlerini yapabilirsiniz.

Gif showing a user how to pull API keys

3. Komut Satırından Bir İstek Yapın

JSON-RPC ve curl kullanarak Alchemy aracılığıyla Ethereum Blokzinciri ile etkileşime geçin.

Manuel istekler için, POST istekleri aracılığıyla JSON-RPC ile etkileşime geçmenizi öneririz. Sadece Content-Type: application/json başlığını ve sorgunuzu aşağıdaki alanlarla birlikte POST gövdesi olarak iletin:

  • jsonrpc: JSON-RPC sürümü—şu anda yalnızca 2.0 desteklenmektedir.
  • method: ETH API metodu. API referansına bakın. (opens in a new tab)
  • params: Metoda iletilecek parametrelerin bir listesi.
  • id: İsteğinizin kimliği (ID). Bir yanıtın hangi isteğe ait olduğunu takip edebilmeniz için yanıt tarafından döndürülecektir.

İşte mevcut gas 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) adresini kendi API anahtarınız olan https://eth-mainnet.alchemyapi.io/v2/**your-api-key ile değiştirin.

Sonuçlar:

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

4. Web3 İstemcinizi Kurun

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

NOT: Aşağıdaki betiklerin komut satırından çalıştırılması değil, bir düğüm bağlamında (node context) çalıştırılması veya bir dosyaya kaydedilmesi gerekir. Node veya npm henüz yüklü değilse, bu hızlı Mac'ler için kurulum rehberine (opens in a new tab) göz atın.

Alchemy ile entegre edebileceğiniz tonlarca Web3 kütüphanesi (opens in a new tab) vardır, ancak Alchemy ile sorunsuz çalışacak şekilde oluşturulmuş ve yapılandırılmış, Web3.js'nin doğrudan bir alternatifi olan Alchemy Web3 (opens in a new tab)'ü kullanmanızı öneririz. Bu, otomatik yeniden denemeler ve sağlam WebSocket desteği gibi birçok avantaj sağlar.

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

Yarn ile:

yarn add @alch/alchemy-web3

NPM ile:

npm install @alch/alchemy-web3

Alchemy'nin Düğüm altyapısıyla etkileşime geçmek için NodeJS'te çalıştırın veya bunu bir JavaScript dosyasına ekleyin:

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

5. İlk Web3 Betiğinizi Yazın!

Şimdi biraz Web3 programlamaya girişmek için Ethereum Ana Ağı'ndan en son Blok numarasını yazdıran basit bir betik yazacağız.

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

mkdir web3-example
cd web3-example

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

npm install @alch/alchemy-web3

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

Sonuç olarak demo kısmını kendi Alchemy HTTP API anahtarınızla değiştirmelisiniz.

async function main() {
  const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
  const web3 = createAlchemyWeb3("https://eth-mainnet.alchemyapi.io/v2/demo")
  const blockNumber = await web3.eth.getBlockNumber()
  console.log("The latest block number is " + blockNumber)
}
main()

Asenkron (async) konularına aşina değil misiniz? Bu Medium gönderisine (opens in a new tab) göz atın.

4. Node kullanarak terminalinizde çalıştırın

node index.js

5. Artık konsolunuzda en son Blok numarası çıktısını görmelisiniz!

The latest block number is 11043912

Harika! Tebrikler! Alchemy kullanarak ilk Web3 betiğinizi yazdınız 🎉

Sırada 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 Rehberimiz (opens in a new tab) ile biraz Solidity programlamaya girişin veya Kontrol Paneli Demo Uygulaması (opens in a new tab) ile kontrol 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)'da takip edin.