StarkNet Cairo 101
Bu basit eğitimle Cairo kullanmaya başlayın. Bulmacaları/egzersizleri tamamlayın, egzersizleri yaptıkça token kazanın ve StarkNet akıllı sözleşmeleri hakkında bilgi edinin!
Giriş
Sorumluluk reddi
Ethereum Mainnet'teki "ilk genel amaçlı validity rollup olan StarkNet" hakkında bir sürü harika şey öğrenmek dışında, bunu kullanmaktan herhangi bir fayda beklemeyin. StarkNet hala Alfa'da. Bu, geliştirmenin devam ettiği ve boyanın her yerde kurumadığı (son sürüm olmadığı) anlamına gelir. İşler daha iyi olacak ve bu arada, burada ve orada biraz koli bandıyla işleri yürütüyoruz!
Nasıl çalışır
Alıştırmaları bitir tokenları al! Bu atölye, testnet'te "StarkNet Alpha'da" bulunan bir dizi akıllı sözleşmedir. Her akıllı sözleşme, Cairo Akıllı sözleşme dilinin bir özelliğini anlatan/özetleyen bir alıştırma/bulmacadır. Alıştırmayı tamamlamak, size token şeklinde kredi verecektir ERC20 token. Bu atölye, sözdizimini anlamak için Cairo kodunu ve StarkNet akıllı sözleşmelerini okumaya odaklanır. Takip etmek ve tamamlamak için makinenize herhangi bir kod yazmanıza veya herhangi bir şey yüklemenize gerek yoktur. Başlamak (ilk iki alıştırmayı yapmak) öğreticiyi anlamak için biraz zaman alacaktır. Hatta beklemek! Orada, işler daha kolay olacak. Öğreniyorsun! Bu atölye, geniş akıllı sözleşme kavramlarını (ERC20/ERC721 yazma ve dağıtma, varlıklar arasında köprü oluşturma, L1 <-> L2 mesajlaşma...) kapsayacak bir serinin ilkidir. Bunları yazmakla ilgileniyor musunuz? Reach out!
Geri bildirim sağlama
Bu öğretici üzerinde çalışmayı bitirdikten sonra, geri bildiriminiz çok takdir edilecektir! Daha iyi hale getirmek için ne yapacağımızı bilmemiz için lütfen bu formu doldurun. Ve ilerlemekte zorlanıyorsanız, bize bildirin! Bu eğitimin mümkün olduğu kadar erişilebilir olması amaçlanmıştır;eğer değilse öyle olmadığını bilmek istiyoruz. Sorunuz mu var? Katılın --> Discord server, kayıt olun and kanala katılın #tutorials-support
Başlarken
Cüzdan kontratı oluşturun.
Eğitimi tamamlamak için puan toplamanız gerekiyor. Bu puanlar, yüklemeniz gereken bir akıllı sözleşme cüzdanına ait olacaktır.
- Şu an bunu oluşturmanın en kolay yolu Argent X kullanmaktır (chrome eklentisini indirin veya check their repo).
- Uzantıyı yüklemek ve bir cüzdan sözleşmesi dağıtmak için talimatları izleyin
- Goerli testnet network'de olduğunuzdan emin olun.
- Eğitimin puanları
0x074002c7df47096f490a1a89b086b8a468f2e7c686e04a024d93b7c59f934f83
sözleşmesinde tutulur. Puan bakiyenizin orada görünmesini sağlamak için Argent X'te "token ekle"ye tıklayın! - Voyager'ı hesap sözleşmenize bağlayın! Bu, işlemlerinizi cüzdanınız aracılığıyla yayınlamanıza olanak tanır.
Voyager'ı kullanma
Bu eğitim için sözleşmelerimizle Voyager ile etkileşimde bulunacağız. StarkNet's block explorer.
-> Voyager'ı cüzdanınıza bağlayın! Bu, işlemlerinizi cüzdanınız aracılığıyla yayınlamanıza olanak tanır.
Bir sözleşme/işlem ararken daima Voyager'ın Goerli "testnet" versiyonunda olduğunuzdan emin olun!
- İşlemlerinize URL ile erişin https://goerli.voyager.online/tx/your-tx-hash
- URL ile bir sözleşmeye erişin https://goerli.voyager.online/contract/your-contract-address
- Voyager'daki "sözleşmeyi oku/yaz" sekmesi ile sözleşmenin okuma/yazma işlevlerine erişin.
Puan kazanmak
Her alıştırma ayrı bir akıllı sözleşmedir. Düzgün yürütüldüğünde puanları adresinize gönderecek bir kod içerir. Şu anda hesap sözleşmenizle kolayca işlem göndermenin bir yolu olmadığından, her egzersiz sonunda puanlarınızı almanız için adresinizi belirtmeniz gerekecek..
Puanlar distribute_points()
fonksiyonu sayesinde dağıtılacak 'validate_exercice' işlevi, alıştırmayı tamamladığınızı kaydederken (sadece bir kez puan alabilirsiniz). Amacınız:
İlerlemenizi kontrol etme
Puanlarınızı sayma
Puanlarınız Argent X'e aktarılacak; bu biraz zaman alabilir. Puan sayınızı gerçek zamanlı olarak izlemek istiyorsanız, bakiyenizi voyager'da da görebilirsiniz!
- ERC20 counter gidiniz ve in voyager'da bulunan kontratı oku "read contract" sekmesini seçiniz
- "balanceOf" fonksiyonuna cüzdan adresinizi giriniz.
İşlem durumu
Bir işlem gönderdiniz ve voyager'da "tespit edilmedi" olarak mı gösteriliyor? Bu iki anlama gelebilir:
- İşleminiz beklemede ve kısa süre içinde bir bloğa eklenecek. Daha sonra voyager'da görünür olacak. "testnet olduğu için zaman alabilir"
- İşleminiz geçersizdi ve bir bloğa EKLENMEYECEK (StarkNet'te başarısız işlem diye bir şey yoktur).
İşleminizin durumunu aşağıdaki URL ile kontrol edebilirsiniz (ve yapmalısınız). https://alpha4.starknet.io/feeder_gateway/get_transaction_receipt?transactionHash= , işlem hash'inizi ekleyebileceğiniz yer.
Alıştırmalar ve Sözleşme adresleri.
Sözleşme Adresleri
Konu | Kontrat kodu | Voyager'da yüklü olan kontrat |
---|---|---|
Points counter ERC20 | Points counter ERC20 | Link |
General syntax | Ex01 | Link |
Storage variables, getters, asserts | Ex02 | Link |
Reading and writing storage variables | Ex03 | Link |
Mappings | Ex04 | Link |
Variable visibility | Ex05 | Link |
Functions visibility | Ex06 | Link |
Comparing values | Ex07 | Link |
Recursions level 1 | Ex08 | Link |
Recursions level 2 | Ex09 | Link |
Composability | Ex10 | Link |
Importing functions | Ex11 | Link |
Events | Ex12 | Link |
Privacy on StarkNet | Ex13 | Link |
Katkı
Yardıma açığız!
Bu proje daha iyi hale getirilebilir ve önümüzdeki haftalarda gelişecektir. Katkılarınız için teşekürler! Yardımcı olmak için yapabileceğiniz şeyler şunlardır:
- Hata bulursanız düzeltiniz
- Daha fazla açıklamaya ihtiyaç olduğunu düşünüyorsanız, alıştırmanın yorumlarına açıklama ekleyin.
- En sevdiğiniz Cair özelliğini sergileyen alıştırmalar ekleyin
Bu projeyi yeniden kullanmak
- Repoyu makinenizde klonlayın
- [bu talimatları] izleyerek ortamı kurun(https://starknet.io/docs/quickstart.html#quickstart)
- Yükleyin Nile.
- Projeyi derleyebildiğinizi test edin
nile compile