Ethereum üzerinden nasıl coin çıkartılır? (Solidity — ERC20)
Dolandırıcı mısınız? Adının başına yerli milli koyup yengeyle Güney Amerika’ya mı gideceksiniz? Hiçbir programlama bilgim yok ama blockchain züper züper mi diyosunuz? Evet, doğru yerdesiniz. Bu kısacık yazı ile siz de kendi ERC20 Token’ınızı çıkarıp ICO başlatabilirsiniz. Ama yapmayın. Bu yasal değil ve bir suç unsurudur. Bu yazıdakiler kimseyi dolandırmanız için bir ön ayak değildir ve hiçbir sorumluluk kabul edilmez. Ethereum elden gidiyor.
Mümkün olduğunda teknik detaylarından soyutlayarak gidiyorum, atlayın trene;
Blockchain güzel, monetization ondan güzel, ama sıfırdan blockchain yaratmak zor geliyor, evet. ERC20 tokenları bunun için var. Halihazırda tested/deployed bir sistem üzerinde kendi tokenınızı yaratabiliyorsunuz. Bunları ERC20 standardı üzerinde geliştirdiğiniz için(Bunun için ayrı bir emek sarfetmiyorsunuz), sistem güncellemelerinden tokenınız etkilenmiyor.
Good to know:
Bu token yaratma işine, Ethereum’u forklama da diyebiliriz.Diyelim. Smart Contractlar ile ETH networkü üzerinden token yaratabiliyoruz.
Smart Contract: Akıllı Sözleşme. Hatta, insanları kandırmak için bunu okuyorsan, senden bile akıllı. Ve biraz masraflı. Her satırı için bir şey istiyor, adı GAS, GAS Price. O yüzden mümkün olduğunca optimize yazıyoruz bu Akıllı Sözlemeleri. Yazıldığı programlama dilinin adı ise Solidity.
MetaMask: Etherlerimizi saklamak için bir browser uzantısı. Bir nevi online cüzdan. Bu iyi, bu lazım. İndirelim bunu. ( bkz: https://metamask.io/ )
Ropsten Network: Bizim evde ayakkabı kutusunda ayakkabı olur. Bu yüzden tüm işlemlerimizi Test Network’de, sahte Ethereumlar ile yapacağız. Ropsten de Ethereum üzerinde bir test ağı. MetaMask’ı indirdiğinizde sağ üstte bağlanabileceğiniz tüm ağları görebilirsiniz.
1) Ether Adresi Oluşturma
MetaMask’ı indirdik. Contract adından bir cüzdan oluşturalım. Ben Chrome’dan yapıyorum, bunun için sağ üstte bulunan MetaMask logosuna tıklayıp, onun da sağ üstünde bulunan renkli avatara tıklayın. Oradan:
Hesap Oluştur -> (Hesap Adınızı girin, adı Contract olsun) -> Yarat
Voila. Hesabımız yaratıldı.
2) Sözleşmemizi yaratma
Solidity, akıllı sözleşmeler yazmak için kullandığımız dil. Remix’de bunu compile&run etmek için kullandığımız platform. http://remix.ethereum.com ‘a gidelim.
Contract kodumuz şöyle, bir kaç satırı değiştirdik mi herşey tamam. Önce kopyalayıp kullandığınız editöre yapıştırın.
Değişecek satırlar :
- 82: contract’tan sonraki kelimeyi istediğiniz token adı ile değiştirin. Bu örnek için MilliCoin yaptık.
- 95: function’dan sonraki kelime için de birebir aynı ismi verin.
- 96: Symbol olarak istediğimiz 3 harfliyi verelim.
- 97: Name bölümünde tokenımızın adını verelim.
- 99: _totalSupply, rezerve yarattığımız tokendan kaç tane olacağını belirler.
- 100,101: Burası önemli. 0x ile başlayan cüzdan adresleri var. Bunları MetaMask ile yarattığımız kendi adreslerimiz ile değiştireceğiz. Yine sağ üstteki MetaMask simgesine tıklayalım. Sol üstte (başıma birşey gelmeyecekse) paralel 3 çizgi var, menü simgesi. Ona tıklayalım. Şu ekran gelecek;
Ayrıntıların altındaki 0x ile başlayan cüzdan adresine tıklayarak kopyalayalım.
- 100 ve 101. satırdaki 0x ile başlayan adreslerle kopyaladığımız adresi değiştirelim.
- Şimdi de test etmek için ücretsiz Ethereum’ları alalım. Bunun için http://faucet.ropsten.be:3001/ adresine gidip az önce kopyaladığımız cüzdan adresini buraya yapıştırın ve SEND ME 1 TEST ETHER butonuna tıklayın. Tamamdır, birazdan elimize ulaşır. MetaMask ile gelip gelmediğine bakabilirsiniz.
3) Sözleşmemizi Deploy Etme
- http://remix.ethereum.com ‘a gidelim. Ekrandaki tum kodları silip düzenlediğimiz sözleşmeyi buraya yapıştırın.
- Sağdaki tablardan Run bölümüne gelin. Deploy bölümünün üzerindeki dropdown’dan adını verdiğiniz tokenı seçin ve deploya tıklayın. Tıklayınca MetaMask bir ekran açacak. İşte beyle:
Onaylayın. Ropsten ağında olup olmadığınızı iki kere kontrol edin. İşlemin onaylanması 30 saniye kadar alır. Durumunu kontrol etmek için işlemin TxHash’ini alıp https://etherscan.com ile sorgulayabılırsiniz. Ya da metamask’a gelip işlemler listesinden sözleşme kurulumuna tıklayın. Direk etherscan sayfasını açacaktır. Şöyle birşey gözükmeli:
- Şimdi ‘to’ satırındaki Contract adresine tıklayalım. Açılan sayfada, ortada, 3 tab var. Transactions, code, event. Code tabına tıklayalım.
Buradan Verify And Publish linkine tıklayalım.
4) Sözleşme Sahipliğini Doğrulama
4 basit adım var.
- Tokenımızın adını Contract Name alanına yazmak,
- Remix Compiler Versiyonunu yazmak (browser üzerinden url’e bakıp version kısmından öğrenebilirsiniz),
- Optimization alanını ‘NO’ yapmak,
- Remix ile çalıştırdığımız kodu en alttaki alana yapıştırma.
Böyle Gözükmeli:
Eğer her şey tamamsa en alttaki Verify and Publish butonuna tıklayalım.
Bir sorun çıkmadıysa, ki birebir aynı gidiyorsak çıkmaması lazım; Şöyle bir ekran çıkması lazım.
5) Herşey tamam. Şimdi test edelim.
Şimdi MetaMask’a tekrar gelin. Soldaki paralel 3 çizgi olan metu butonuna tıklaıp “Jeton Ekle”ye tıklayalım. Üstteki 2. tab’2, Özel Jeton’a tıklayıp Jeton Adresi’ne sözleşme adresimizi girelim, diğer alanlar otomatik doldurulacak. “Sonraki”ne tıklayıp jetonumuzu tanımlayalım.
MetaMask’a gelin. Yeni bir hesap yaratın. Yukarıda yaptığımız gibi tekrar içine 2 adet test Ethereum’u yukleyin.
Bakiyemiz yüklendikten sonra contract adresine 1 ETH yollayıp beklemeye başlayalım. Burada olan şey, sözleşme adresine 1 ETH yolluyoruz. Sözleşme, kendisine ETH yollayan adrese sözleşmede belirlediğimiz miktarda gelen ETH miktarına göre yarattığımız Token’dan yollayacak. That’s it, we’re all set.
Bebek gibi bir newborn token yarattık. Umarım işinize yaramıştır ve umarım scam işleri için değerli vaktinizi harcamazsınız.
Teşekkürler,
Uğur Cem.