Smart Contract Deploy
Smart contract’leri deploy etmek için birkaç yol vardır. Aşağıda en yaygın olan yolları vardır:
- Testnet’lerde deploy etmek: Testnet’ler, smart contract’leri test etmek için kullanabileceğiniz sanal ağlardır. Örneğin, Ethereum ağı için Rinkeby, Ropsten gibi testnet’ler mevcuttur. Bu testnet’lerde deploy etmek için, öncelikle smart contract’i bir dili olan Solidity ile yazmanız ve daha sonra bir çevirmen (compiler) kullanarak bytecode haline getirmeniz gerekir. Daha sonra, bytecode’u testnet’e göndererek deploy edebilirsiniz. Bu işlem için web3.js kütüphanesi veya Truffle gibi araçlar kullanabilirsiniz.
- Mainnet’e deploy etmek: Mainnet, gerçek blockchain ağıdır. Bu ağda deploy etmek için, öncelikle testnet’lerde test ettikten sonra smart contract’i mainnet’e gönderebilirsiniz. Bu işlem için, ağ üzerinde Ether (ETH) gibi kripto para birimleri kullanmanız gerekir. Bu kripto paraları, smart contract’i deploy etmek için gereken işlem ücretini ödemek için kullanabilirsiniz.
- Dedicated blockchain platformları: Özel blockchain platformları, smart contract’leri deploy etmek için kullanabileceğiniz alternatif yollar sunar. Örneğin, Ethereum blockchain platformları arasında, Ethereum Classic, Ethereum Classic Vision, Ethereum 2.0 gibi platformlar mevcut. Bu platformlar, smart contract’leri deploy etmek için farklı yollar sunar ve önceden yapılandırılmıştır.
Ben local testlerimde Ganache isimli uygulamayı kullanmaktayım. Sunuculara push ettiğimde müşterilerimin test edebilmesi için ise Sepolia Test Networkunu kullanmaktayım. Uygun network’e MetaMaskınızı tanıttıktan sonra, Remix IDE ile smart contractınızı network e deploy edebilirsiniz.
Remix Ide nin online versionu olan https://remix.ethereum.org/ e girip aşağıda ki bölümden metamaskınızı seçiniz.
Yazdığınız Smart Contract kodunu byte code olarak compile etmek için, build etmek istediğiniz kontrat dosyası açıkken aşağıda ki işlem yapilmalıdır.
Deploy işlemi için ise; öncelik ile gerekli ortam bölümü seçilir ben metamask ile çalışarak kendi providerlerime bağlandığım için MetaMask’ı seçtim. Sonrasında aktif olan account’a bağlamak için metamask gerkeli izinleri isteyecektir. bunları verdikten sonra aşağıda ki 2. adım olan account kısmı dolacaktır. Compile ettiğiniz kontratı Contract tabının altından seçip Deploy demeniz yeterlidir. Metamask üzerinden bu deploy işlemi gerçekleşmeye başlayacaktır. Bu işlem blockchain networkune bi yazma işlemi olduğu için ilgili transaction fee sizin bakiyenizden kesilecektir.