CW20-ICS20-Smart-Contract
CW20-ICS20-Smart-Contract
Selamlar Bugün kendimize ait CW20 token oluşturacağız ek olarak CW20-ICS20 Akıllı Sözleşmeleri kullanarak IBC üzerinden transfer yapacağız.
CW20 nedir?
CW20, Kısaca ERC-20 gibi düşünebilirsiniz, CW20 Token oluşturmak için Juno mint kullanıyoruz. Juno mint, Juno üzerinde akıllı sözleşmeler ile kodlama gerektirmeden kendi tokenimizi oluşturduğumuz platformdur.
Nerede işimize yarıyacak?
Şu an Sei Network Atlantic-1 testnetinde ihtiyacımız olacak, size anlatacağım.
İhtiyacımız olan şeyler.
-Sei Networkte oluşturduğumuz cüzdan (normal şartlarda herhangi bir keplrda olur, sei görevi yapmak için diyorum)
-Juno test tokeni.
-Juno test ağı
-Sei ağı
-En önemlisi tüm floodu okuma becerisi <3
BEN TOKEN OLUŞTURMAYACAĞIM, EN KISA YOLU GÖSTER HOCAM DERSEN FLOODUN SONUNDA.
İlk önce yeni bir keplr cüzandan sei'de ki 12 kelimemizi kullanarak cüzdan oluşturuyoruz.
Daha sonra https://testnets.cosmosrun.info/sei-testnet üzerine gidip sağ üsten cüzdanı bağlamalıyız.
-Yukaıda DISCLAIMER: uyarısını önemsemeyin, alta gelip Enable keplr diyerek sei ağını ekleyin.
-Keplrda çıkan sei cüzdanınız mainnet. adresler farklı olabilir aynı olursada umursamayın.
Daha sonra https://junomint.com/ üzerinden juno test ağını ekleyelim.
Şimdi discorda girip juno test tokeni alalım: https://discord.gg/4HxYGtaQ
$request + cüzdan adresi
Şimdi tokenimizi oluşturalım:
-Token Name giriyoruz
-Token Symbol giriyoruz
-Initial Supply'ın sonuna 1-2 tane sıfır (0) ekliyoruz
-Sağ altın biraz üstünden Agreement kısmında tiki onaylıyoruz
-Confirm diyoruz.
-2 kez cüzdan onayı veriyoruz.
Şimdi Transaction details ekranı çıkacak karşınıza ve Contract Address'e tıklıyoruz ve Juno Blueprints sayfası açılacak.
BU SAYFAYI SAKLAYIN msg KISMINI BURAYA YAZACAĞIZ
-Bu arada keplr juno ağında alt kısma bakın tokeniniz gözükecek.
Daha sonra bu sayfaya giriyoruz: Link ve gerekli görevleri sıralıyorum alta.
-Yukarıda verdiğim linkten sağ üstten cüzdan bağlıyoruz.
-Alt kısımda Write kontrat kısmına tıklıyoruz
-Altta verdiğim kodu write kontrat kısmını silip benim kodu giriyoruz.
{ "allow": { "contract": "juno1d3pnlc086evh7d277vak6tpz6gmvw6gr6plwxzf5n2tl9zdtwf7qrdsn44" } }
Daha sonra altta göstedğim görselde ki gibi, kendi kontrat adresimizi kopyalıyoruz.
Daha sonra kendi oluşturduğumuz tokenin kontrat adresi ile değiştiriyoruz.
-Değiştirdikten sonra Execute contrat (mavi buton, altında olur) butonuna tıklıyoruz.
Şimdi yapacaklarımızı çok basit bir dille anlatacağım 1-2 kez okuyalım lütfen.
-Altta ki kodu kopyalayın.
eyJjaGFubmVsIjoiY2hhbm5lbC03OSIsInJlbW90ZV9hZGRyZXNzIjoic2VpMXAwdDZha3M3dGpzdTB5OXNqaHNwNXQ1Z2t1bmtjODlheHg0Mnk3In0=
-https://www.utilities-online.info/base64 üzerine gidin.
-Altta ki görselde ki gibi sol tarafa yapıştırın
-Ortada Decode butonuna tıklayın.
-Sağda görselde ki gibi {"channel diye başlayan bir kod çıkacak, o kodun sonunda remote_address ve sei adresi yazar.
-O sei testnet adresi ile değiştirin. (çünkü benim adresim o)
-Değiştirdikten sonra kopyalayıp sol tarafa yapıştırın.
-İlk başta decode demiştik şimdi encode yapıyoruz.
-Şimdi size ait bir MSG oluştu, yukarıda paylaştığım komutun benzeri.
Şimdi başta token oluşturmuş ve kendi kontrat adresimize tıkladığımızda Juno Blueprints üzerinde bir site açılmıştı. (görselde ki gibi)
Sırasıyla:
-Sağ üstten cüzdanı bağlıyoruz aynı şekilde.
-Aşağıya gelip write kontrat diyoruz
Görselde ki gibi bir mesaj çıkacak, orayı siliyoruz ve görselin altında verdiğim kodu giriyoruz
{ "send": { "contract": "juno16gckhheyql9f85r9ydmazdccc0pnwxx5xxxrwltygtx3kxjg57ksamkpym", "amount": "100000000", "msg": "eyJjaGFubmVsIjoiY2hhbm5lbC03OSIsInJlbW90ZV9hZGRyZXNzIjoic2VpMXAwdDZha3M3dGpzdTB5OXNqaHNwNXQ1Z2t1bmtjODlheHg0Mnk3In0=" } }
Daha sonra MSG kısmında resimde gösterdiğim gibi tırnak işaretleri içersinde olan (") kodu siliyoruz.
-Yukarıda kodu çevirmiştik kendi sei testnet adresimizi girmiştik hatırlarsınız onu kopyalıyoruz.
-MSG kısmında sildiğimiz tırnak işaretleri arasına yapıştırıp execute kontrat diyoruz.
-Bunu yaptıktan sonra cüzdanınızdan 1 tane kendı oluşturduğunuz token gidecek.
Daha sonra bu işlemi tamamladıktan sonra sayfayı yenileyin.
-En altta bir TX oluşacak ona tıklıyoruz.
-Tıkladıktan sonra açılan sayfada Success yazısını gör
İşlem sonunda https://sei.explorers.guru/validators giriyoruz ve sırasıyla:
-Validatorumuze tıklıyoruz
-En altta kendi cüzdanımızı buluyoruz ve tıklıyoruz
-Daha sonra böyle bir görselle karşılaşacaksınız, işlem tamam buraya kadar.
Daha sonra bunu altta ki paylaşacağım görevler kısmında bu cw20 tokeni kullanarakta ek işlem yapabilirsiniz.
https://github.com/ruesandora/sei-atlantic-1/blob/main/seinami-testnet-mission.md
IBC TRANASFER:
TOKEN OLUŞTURMAK İSTEMEYENLERE KOLAY YOL:
Keplr ayarlardan IBC Transferi açıyoruz.
Juno test ağına gelip en alttan IBC transfer diyoruz:
Sırasıyla:
-Select chain
-New IBC Transfer Channel
-Select channel'dan en altta sei seçiyoruz.
-channel ID channel-35 yazıyoruz.
-save diyoruz
-daha sonra sei testnet cüzdan adresimizi kopylaıyoruz (explorerden alın)
-adres kısmına (Recipient) giriyoruz.
-Memo boş kalacak
-daha sonra token oluşturduysanız tokeninizi veya juno seçiyoruz.
-Sırasıyla submit ve approve diyerek 3-5dk geçmesini bekliyoruz.