Herkese merhaba arkadaşlar,
19 Kasım Cumartesi günü BNBCHAIN ile Çukurova Blockchain’in, Seyhan Belediyesi Teknoloji ve İnovasyon Merkezi’nde düzenlediği Solidity Workshop’unda size öğrendiklerimi aktaracağım.
Eğitim iki kısımdan oluşuyor. İlk kısım Remix IDE üzerinden Solidity ile akıllı kontrat geliştirmek. İkinci kısım ise geliştirdiğimiz bu akıllı kontratların ether.js ve next.js kullanılarak dApp geliştirilmesi.
İkinci kısım (frontend için gereken kurulumlar):
- MetaMask Cüzdanı kurulumu
- https://metamask.io/ sitesinden cüzdan eklentisini tarayıcınıza indirin.
- Chrome’a eklentiyi eklemek için bu siteyi kullanabilirsiniz: https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn
- Cüzdan eklentisi indikten sonra buradan yeni bir cüzdan oluşturun:
- Gerekli izinleri kabul/red ettikten sonra cüzdanınızı tarayıcıdan her defasında açabilmek için bir parola belirleyin:
- Şifrenizi belirledikten sonra “gizli kelimeleri göster” deyip verilen kelimeleri bir yere not alın:
- Sonraki adımda sizden bu kelimeleri sırasıyla girmenizi isteyecek. Kelimeleri sırasıyla seçtikten sonra cüzdanınızı kullanmaya başlayabilirsiniz.
- Sağ üstte eklentiler kısmında görünen tilki logosuna basarak cüzdanınıza ulaşabilirsiniz:
- Node.js (son LTS sürümü)
- https://nodejs.org/en/blog/release/v18.12.0/ bu site üzerinden node.js son LTS sürümünü kendi bilgisayarınızın işletim sistemine göre indirebilirsiniz.
- Windows 64 bit sürümü için bu linkten indirebilirsiniz:
- İnen dosyayı çalıştırdıktan sonra yönergeleri izleyerek yükleme yapabilirsiniz:
- Yükleme tamamlandıktan sonra şöyle bir ekranla karşılaşacaksınız. Sonrasında terminal ekranı açılacak ve klavyeden herhangi bir tuşa tıkladıktan sonra kurulum tamamlanacak.
- MetaMask cüzdanınıza BSC Testnet ağının eklenmesi:
- https://chainlist.org/ sitesine gidip sağ üstten “Connect Wallet” dedikten sonra MetaMask gerekli izinleri sizden isteyecek. Kabul ettikten sonra “Testnet” seçeneğini açıp arama kısmına “bnb” yazınca Binance Smart Chain Testnet’ini eklemeniz gerekecek. “Add to MetaMask” dedikten sonra cüzdanınıza bu ağı ekleyebilirsiniz.
- Faucet’ten test için bnb alınması:
- https://testnet.binance.org/faucet-smart bu siteye gidiyoruz ve MetaMask cüzdan adresimizi boş kısma yapıştırıyoruz. Cüzdan adresinizini MetaMask eklentisinden kopyalayabilirsiniz:
- Cüzdan adresinizi verdiğim siteye yapıştırdıktan sonra “Give me BNB” diyerek test BNB’si alabilirsiniz.
Solidity ile akıllı kontrat geliştirmek için https://remix.ethereum.org üzerinden artı butonundan blank (boş) şablon kullanarak yeni bir workspace açıp çalışmaya başlıyoruz.
Yeni bir dosya oluşturup ismine Calculator.sol diyoruz.
.sol uzantısı solidity dilinde yazılan dosyları temsil ediyor.
Daha sonra bu kodları yazıyoruz ve Ctrl+S kombinasyonu ile ilk kontratımız derliyoruz.
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
contract Calculator {
}
Başlamaya hazırız!
Bu makale serisi ile Solidity öğrenebilirsiniz:
https://enginunal.medium.com/solidity-1-temel-bilgiler-40ab2ac36878
Bu link ile yazdığımız kontratlara ulaşabilirsiniz:
https://github.com/muffafa/SolidityWorkshop
Daha sonrasında konsola:
npx create-next-app PROJEISMI
komutunu yazarak next.js projesi oluşturuyoruz. Projemize:
npm -i ethers
komutu ile ethers.js kütüphanesi import ederek oluşturduğumuz kontratları bağlayabiliriz.
Next.js için detaylı anlatım: https://ismailgultekin.com/nextjs-kurulumu-ve-nextjs-ile-react-projesi-nasil-yapilir
Ethers.js ile dApp uygulaması geliştirmek için örnek kurs:
Evm codes ile evm opcodelarını ve ne kadar gas ile çalıştıklarını görün:
eth converter ile Wei – Gwei – Ether dönüşümleri yapın
Sevgili Emin Taş’a Frontend kurulumları kısmındaki destekleri için çok teşekkürler.
Yazan: Muhammed Mustafa Savar