githubEdit

walletEthers.js

Ethers.js, EVM üzerindeki blockchainler ile etkileşime geçmek için kullanılan hafif ve kullanıcı dostu bir JavaScript kütüphanesidir. Akıllı Kontratlar ile iletişim kurmak, hesapları yönetmek, işlemler gerçekleştirmek ve blockchain verilerini almak gibi birçok işlemi kolayca yapmanıza olanak sağlar.

1 - Kurulum

Ethers kütüphanesinin kurulumu için öncelikle bağımlılıkları projenize import etmeniz gerekmektedir.

npm install --save ethers
//veya
yarn add ethers

2 - Ethers.js ile Temel İşlemler

Ethers.js'i Projeye Dahil Etmek

Ethers.js kurulumu yaptıktan sonra akıllı sözleşmenizin en üstünde kullandığınız frameworke göre (react.js, next.js, vanillaJS) aşağıdaki komutlardan uygun olanını kullanabilirsiniz.

const { ethers } = require("ethers");
// veya ES6 modülleri kullanıyorsanız
import { ethers } from "ethers";

Bir Ethereum Cüzdanı Oluşturma

Akıllı sözleşmemizde createRandom() fonksiyonu ile yeni bir cüzdan oluşturabiliriz.

// Rastgele bir cüzdan oluşturma
const wallet = ethers.Wallet.createRandom();
console.log(`Address: ${wallet.address}`);
console.log(`Private Key: ${wallet.privateKey}`);

Bir Cüzdanı Mevcut Bir Private Key ile İçe Aktarma

Oluşturduğumuz cüzdan adresini ve private key'i import etmemiz gerektiği durumlar olabilir.

Bir Ethereum Node'una Bağlanma

Ethers.js, farklı provider'larla çalışabilir. Örneğin, Infura veya Alchemy gibi bir servis sağlayıcı ile Ethereum blockchain'e bağlanabilirsiniz.

Bir Hesap Bakiyesini Kontrol Etme

Bir Varlık Gönderme İşlemi/Transaction

Metamask arayüzünü kullanmadan kontrat üzerinden bakiye transferi de yapabilirsiniz.

Bir Smart Contract ile Etkileşim

Kullanıcılarınız akıllı sözleşmeleriniz ile sitenin ön yüzünden etkileşime geçebilmesi için ethers.js mükemmel bir araçtır. Sözleşmenizi deploy ederken otomatik oluşturulan bir ABI kodu bulunmaktadır. Bu ABI kodunu ister contractABI kısmına ekleyebilir isterseniz de bunu harici bir dosyadan çağırabilirsiniz.

3 - Ethers.js ile Ekstra Araçlar ve Yardımcı Fonksiyonlar

BigNumber Kullanımı

Akıllı sözleşmelerde birimler ifade edilirken Wei kullanılır. Bu nedenle sayılar çok büyük olmakta ve bu yüzden BigNumber hatası almaktayız.

circle-info

1 ether = 1000000000000000000 wei (19 hane)

Burada ethers.js'in bize sağladığı yerleşik BigNumber dönüşümü sayesinde büyük sayılarla çalışabilmekteyiz.

Event Dinleme

Bir akıllı sözleşmenin veya bireysel bir hesabın event'lerini aşağıdaki yöntemle dinleyebiliriz.

Last updated