Sevgili kripto tutkunları! Akıllı sözleşmeler oluşturma deneyimimi paylaşmaya karar verdim. Açıkçası, ilk başladığımda bu terimler ve süreçler yüzünden saçlarımı yolacak gibi olmuştum. Ama hadi, sırayla.
Blockchain Seçimi - ilk ve en önemli adım
Öncelikle bir blockchain seçmelisiniz. Ben Ethereum'u seçtim, ama açıkçası, oradaki ücretler beni gerçekten öldürüyor! Diğer seçenekler de var - aynı BNB Chain ya da Solana. Her birinin kendine göre artıları ve eksileri var.
Kod yazmanın nerede olduğunun ne önemi var diyebilirsiniz? Çok büyük! Bazı blok zincirleri daha hızlı ve daha ucuz, ama daha az güvenli. Diğerleri ise tam tersine. Ayrıca blok zincirinin seçimi, sözleşmenizi kullanacak olan kitleyi de etkiler.
Programlama Dili - Solidity sahne alıyor
Genellikle herkes Solidity ile yazıyor. Evet, başka diller de kullanabilirsiniz, ama neden karmaşıklaştıralım? Solidity, akıllı sözleşmeler için özel olarak oluşturulmuştur ve anlaşılır bir sözdizimine sahiptir.
İşte böyle basit bir şey zaten bir sözleşme olarak kabul edilebilir. Ama gerçek projeler elbette çok daha karmaşık.
Geliştirme ortamı - araçsız hiçbir yere gidemezsiniz
Remix IDE ile başladım - bu, sözleşmeleri internet üzerinde yazabileceğiniz, derleyebileceğiniz ve test edebileceğiniz bir tarayıcı ortamıdır. Yeni başlayanlar için kullanışlı! Sonra Hardhat veya Truffle gibi daha gelişmiş araçlara geçtim.
Test Etme - en sinir bozucu aşama
İşte "eğlencenin" başladığı yer burası! Sözleşmeyi yazdığında, onu test etmen gerekiyor. Ve burada tüm olası tuzaklara düştüm.
Bir gün, madeni paralarla bir mini oyun için bir sözleşme yaptım, ama tekrar para çekme kontrolünü eklemeyi unuttum. Sonuç? Test grubundaki bir akıllı adam projeyi iflas ettirmek üzereydi, parayı döngü halinde çekiyordu. Neyse ki bu bir testnet'ti!
Dağıtım - geri dönüş noktası
Tüm testlerden sonra, sözleşme (depolanmalı) blockchain'e yerleştirilmelidir. Ve burada önemli olan şu: bu geri alınamaz bir süreçtir! Blockchain'e giren kod değiştirilemez. Sadece yeni bir sürüm depolayabilirsiniz.
Bir keresinde test koduyla ilgili satırı kaldırmayı unuttum. Yeni bir sözleşme yapmak ve kullanıcılara neden eski sözleşmenin artık çalışmadığını açıklamak zorunda kaldım. Yazıklar olsun bana!
Güvenlik Açıkları - Her Geliştiricinin Kâbusu
Akıllı sözleşmelerde güvenlik kutsal bir inek. En küçük bir hata milyonlara mal olabilir. The DAO ile ilgili hikayeyi hatırlıyor musunuz? Orada bir hacker, koddaki bir açık nedeniyle $50 milyon çaldı.
Ben mutlaka sözleşmelerimi kontrol ediyorum:
taşma
yeniden giriş saldırıları
erişim kontrolü zafiyetleri
ve daha birçok şey
Yeni başlayanlar için tavsiyem
Bisikleti yeniden icat etmeyin! OpenZeppelin gibi hazır kütüphaneleri kullanın. Zaman ve topluluk tarafından test edilmiştir.
Ve evet, hemen ticaret platformları veya DeFi protokolleri için karmaşık sözleşmeler yazmaya çalışmayın. Basit olanla başlayın - tokenler, oylamalar, basit oyunlar.
Ve ayrıca, her zaman neyin yanlış gidebileceğini düşünün. Akıllı sözleşmeler dünyasında hata yapma hakkı yoktur. Her işlevi, nasıl çalışması gerektiğine değil, nasıl kırılabileceğine karşı kötü niyetli kişilerin gözünden kontrol edin.
Blockchain dünyasında başarılar! Ben de umarım bir saat içinde hacklenmeyecek yeni bir sözleşme yazmaya gidiyorum.
View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Akıllı sözleşme nasıl yazılır - benim kişisel deneyimim
Sevgili kripto tutkunları! Akıllı sözleşmeler oluşturma deneyimimi paylaşmaya karar verdim. Açıkçası, ilk başladığımda bu terimler ve süreçler yüzünden saçlarımı yolacak gibi olmuştum. Ama hadi, sırayla.
Blockchain Seçimi - ilk ve en önemli adım
Öncelikle bir blockchain seçmelisiniz. Ben Ethereum'u seçtim, ama açıkçası, oradaki ücretler beni gerçekten öldürüyor! Diğer seçenekler de var - aynı BNB Chain ya da Solana. Her birinin kendine göre artıları ve eksileri var.
Kod yazmanın nerede olduğunun ne önemi var diyebilirsiniz? Çok büyük! Bazı blok zincirleri daha hızlı ve daha ucuz, ama daha az güvenli. Diğerleri ise tam tersine. Ayrıca blok zincirinin seçimi, sözleşmenizi kullanacak olan kitleyi de etkiler.
Programlama Dili - Solidity sahne alıyor
Genellikle herkes Solidity ile yazıyor. Evet, başka diller de kullanabilirsiniz, ama neden karmaşıklaştıralım? Solidity, akıllı sözleşmeler için özel olarak oluşturulmuştur ve anlaşılır bir sözdizimine sahiptir.
katılık pragma solidity ^0.8.0;
contract MoyPervyyKontrakt { string public privet = "Merhaba, blok zinciri!"; }
İşte böyle basit bir şey zaten bir sözleşme olarak kabul edilebilir. Ama gerçek projeler elbette çok daha karmaşık.
Geliştirme ortamı - araçsız hiçbir yere gidemezsiniz
Remix IDE ile başladım - bu, sözleşmeleri internet üzerinde yazabileceğiniz, derleyebileceğiniz ve test edebileceğiniz bir tarayıcı ortamıdır. Yeni başlayanlar için kullanışlı! Sonra Hardhat veya Truffle gibi daha gelişmiş araçlara geçtim.
Test Etme - en sinir bozucu aşama
İşte "eğlencenin" başladığı yer burası! Sözleşmeyi yazdığında, onu test etmen gerekiyor. Ve burada tüm olası tuzaklara düştüm.
Bir gün, madeni paralarla bir mini oyun için bir sözleşme yaptım, ama tekrar para çekme kontrolünü eklemeyi unuttum. Sonuç? Test grubundaki bir akıllı adam projeyi iflas ettirmek üzereydi, parayı döngü halinde çekiyordu. Neyse ki bu bir testnet'ti!
Dağıtım - geri dönüş noktası
Tüm testlerden sonra, sözleşme (depolanmalı) blockchain'e yerleştirilmelidir. Ve burada önemli olan şu: bu geri alınamaz bir süreçtir! Blockchain'e giren kod değiştirilemez. Sadece yeni bir sürüm depolayabilirsiniz.
Bir keresinde test koduyla ilgili satırı kaldırmayı unuttum. Yeni bir sözleşme yapmak ve kullanıcılara neden eski sözleşmenin artık çalışmadığını açıklamak zorunda kaldım. Yazıklar olsun bana!
Güvenlik Açıkları - Her Geliştiricinin Kâbusu
Akıllı sözleşmelerde güvenlik kutsal bir inek. En küçük bir hata milyonlara mal olabilir. The DAO ile ilgili hikayeyi hatırlıyor musunuz? Orada bir hacker, koddaki bir açık nedeniyle $50 milyon çaldı.
Ben mutlaka sözleşmelerimi kontrol ediyorum:
Yeni başlayanlar için tavsiyem
Bisikleti yeniden icat etmeyin! OpenZeppelin gibi hazır kütüphaneleri kullanın. Zaman ve topluluk tarafından test edilmiştir.
Ve evet, hemen ticaret platformları veya DeFi protokolleri için karmaşık sözleşmeler yazmaya çalışmayın. Basit olanla başlayın - tokenler, oylamalar, basit oyunlar.
Ve ayrıca, her zaman neyin yanlış gidebileceğini düşünün. Akıllı sözleşmeler dünyasında hata yapma hakkı yoktur. Her işlevi, nasıl çalışması gerektiğine değil, nasıl kırılabileceğine karşı kötü niyetli kişilerin gözünden kontrol edin.
Blockchain dünyasında başarılar! Ben de umarım bir saat içinde hacklenmeyecek yeni bir sözleşme yazmaya gidiyorum.