Akıllı sözleşme inşasına nereden başlanmalı?
Kullanıcılarınızın yapması gereken eylemler ve her birini yöneten kurallarla başlayın. Kod yazmadan önce sözleşme davranışını tanımlamak için bu ayrıntıları kullanırız.
- Kullanıcı eylemini adlandırın. Bir tahsisatı talep etmek veya bir varlık yatırmak gibi birinin ne yapması gerektiğini tanımlayın.
- Koşulları belirleyin. Eyleme ne zaman izin verildiğini ve izin verilmediğinde ne olması gerektiğini yazın.
- Rolleri listeleyin. Her işlevi kimin kullanabileceğini ve varsa ayarları kimin yönetebileceğini belirleyin.
- Bağımlılıkları işaretleyin. İlgili sözleşmeleri, varlıkları, hizmetleri veya arayüz çalışmalarını not edin.
- Davranışı inceleyin. Normal kullanımı ve kısıtlanmış eylemleri yansıtan test senaryoları üzerinde anlaşın.
Bu, ekibinize uygulamadan önce inceleyebileceği ortak bir tanım sağlar. Ayrıca, değişikliklerin hala tartışılması daha kolayken, kararlaştırılmamış ürün kurallarını erken tespit etmemize yardımcı olur. Bağlantılı token çalışmaları için bkz. token oluşturma ve dağıtım.
Kullanıcıların zincir üstü bir arayüze ihtiyacı varsa, dApp geliştirme aynı planın parçası olabilir. Bizimle konuşmadan önce her teknik seçeneğin kararlaştırılması gerekmez. Verdiğiniz kararları getirin, açık olanları işaretleyin; ürün sorularını uygulama ayrıntılarından ayırmanıza yardımcı oluruz.
Sözleşmeyi topluluğunuzun çalışma şekline yakın tutun
Bir sözleşmenin kuralları, insanların gerçekten yapması gereken eylemlerle eşleştiğinde planlaması daha kolaydır. Kullanıcılarınız hakkında biraz bağlam, standart bir token veya ödül modeli varsaymadan bu bağlantıyı kurmamıza yardımcı olur.
Yarı zamanlı bir yöneticisi olan ve hangi kanaldan başlayacağına karar veren bir Discord sunucusu düşünün. Ekip ayrıca katkıda bulunanların zaman içinde nasıl bir token tahsisatı alacağını da çözmeye çalışıyor. Önce tahsisat kurallarını, kimin talep edebileceğini ve yöneticinin nelerden sorumlu olduğunu tanımlamaya yardımcı oluruz. Ardından bu sözleşme kurallarını, topluluğun güncellemeleri nasıl paylaştığına dair kararlardan ayırırız.
Örneğin, ürününüz bir token ile birlikte staking gerektiriyor. Para yatırma ve çekme işlemlerinin nasıl çalışması gerektiğini, ödüllerin nasıl temsil edildiğini ve planın hangi varlıklara veya diğer hizmetlere dayandığını sorarız. Cevapları, varsayılan bir ekonomik tasarım olarak değil, incelenecek davranış olarak kaydederiz.
Bu sınırlar, ilgili başka çalışmalar olduğunda önemlidir. Sözleşme gereksinimlerini bir Web3 web sitesi ve landing page ile koordine edebilir veya teslimatı kripto cüzdan geliştirme ile eşleyebiliriz. Ekibinizin zaten geliştiricileri varsa, çalışma başlamadan önce her bağlantılı parçanın kimin sorumlu olduğu konusunda anlaşabiliriz.
Ekibinizin takip edebileceği bir teslimat
Üzerinde anlaşılan sözleşme davranışını anlamak için gereken kodu ve çalışma notlarını alırsınız. Geliştirmeden önce içeriği sizinle teyit ederiz, böylece teslimat genel bir kontrol listesini takip etmek yerine ürüne uyar. Daha geniş ürün ihtiyaçları için bkz. Web3 geliştirme.
| Ne alırsınız | Ne zaman faydalıdır |
|---|---|
| İşlevlerin, rollerin ve varsayımların yazılı açıklaması | Ekibiniz uygulama seçeneklerini incelemeden önce |
| Üzerinde anlaşılan davranış için kaynak kodu ve testler | Teknik inceleme ve doğrulama sırasında |
| Test notları ve açık kararlar | Ürün sahiplerinin beklenen davranışı kontrol etmesi gerektiğinde |
| Dağıtım notları ve yayın sorumlulukları | Ekibiniz bir dağıtımı onaylamadan önce |
| Denetim koordinasyon materyalleri, dahil edilmişse | Bağımsız bir incelemecinin proje bağlamına ihtiyacı olduğunda |
Bir vesting sözleşmesi, tahsisat ve talep koşullarının net bir açıklamasını gerektirebilir. Bir staking inşası, para yatırma, çekme ve ödül davranışının kaydedilmesini gerektirebilir. Yazılı materyalleri onayladığınız işlevlere göre şekillendiririz, böylece incelemeciler belirtilen kuralları testler ve kodla karşılaştırabilir. Bu ayrıca ekibinizin dApp geliştirme ile arayüz çalışmalarını planlamasına yardımcı olabilir.
Sözleşme daha büyük bir ürünün parçasıysa, sorumluluklarının nerede bittiğini de not ederiz. Bu, bağlantılı çalışmaları planlamayı kolaylaştırır.
İlk inceleme ile yayın arasında neler olur?
Ürün kararlarından incelenmiş bir şartnameye geçer, ardından üzerinde anlaşılan teslimatı oluşturur, test eder ve hazırlarız. Ekibinizin, bir yayın düşünülmeden önce davranışı kontrol edebileceği net noktalar vardır.
Ürün hedefini, zinciri, kullanıcıları ve bağlı sistemleri inceleyerek başlarız. Bir başlangıç kontrol listesi, sözleşme kurallarını toplamamıza, açık seçenekleri belirlememize ve bunları kimin onaylayacağını teyit etmemize yardımcı olur. Yazılı davranışı onayladıktan sonra, üzerinde anlaşılan işlevleri uygular ve teknik bağlantı kişinizle ilerlemeyi paylaşırız.
Test, tasarım sırasında kararlaştırılan senaryoları takip eder. Denetim koordinasyonu dahil edilmişse, inceleme materyallerini hazırlar, teknik soruları yönlendirir ve bulgulara yanıtları düzenleriz. Değişiklikler üzerinde anlaşıldığında, ilgili kodu günceller ve ilgili testleri yeniden çalıştırırız. Kararları yazılı bir ilerleme notunda görünür tutarız, böylece ekibiniz neyin hazır olduğunu ve neyin hala incelemeye ihtiyacı olduğunu görebilir.
Zincir ve sözleşme tasarımı, hangi yayın kontrollerinin mevcut olduğunu belirler. Testler yalnızca tanımladıkları senaryoları kapsar. Bağımsız bir denetim, üzerinde anlaşılan inceleme ile sınırlıdır. Dağıtımdan sonra kodun değiştirilip değiştirilemeyeceği, tasarıma ve zincire bağlıdır.
Bağlantılı Web3 çalışmalarını sözleşme sınırı etrafında planlayın
Sözleşme bir token, arayüz veya cüzdan akışına bağlı olduğunda ilgili bileşenleri birlikte oluşturun. Her parçanın kimin sorumlu olduğu konusunda anlaşmak, ekibinizin zincir üstü davranış ile etrafındaki ürün arasında boşluklar oluşmasını önlemesine yardımcı olur.
Yararlı bir ilk kontrol, halihazırda planlanmış parçaları listelemek ve her biri için bir sorumlu belirlemektir. Sözleşmeniz bir token lansmanına, bir kullanıcı arayüzüne, bir cüzdan akışına veya başka bir hizmete bağlanabilir. Bu bağlantıları geliştiricilerinizle eşleyebilir, ardından sözleşme çalışmasını başka bir ekibin oluşturacağı her şeyden ayrı tutabiliriz.
Projenize bir teknik bağlantı kişisi ve yazılı bir ilerleme notu vereceğiz. Bu kişi açık soruları takip eder, inceleme için çalışmaları paylaşır ve bir sonraki kararı netleştirir. Bize şu 3 başlangıç noktasını getirin:
- Ürün taslağınız ve sözleşmenin desteklemesi gereken kullanıcı eylemleri.
- Seçilmişse hedef zincir, ayrıca mevcut kod veya teknik notlar.
- Mevcut vesting, staking veya token kurallarınız, cevaplanmamış sorular dahil.
Bu materyalleri Brand Community'e gönderin. Bunları sizinle birlikte inceleyecek, karara bağlanması gereken noktaları belirleyecek ve sözleşme inşası için net bir plan hazırlayacağız.
Nasıl çalışır
- Sözleşme sınırını haritalayınÜrün hedefini, kullanıcıları, hedef zinciri ve bağlı parçaları inceleriz. Bir ürün sahibinin yanıtlaması gereken kararları siz belirlersiniz.
- Yazılı davranış üzerinde anlaşınİşlevleri, rolleri, koşulları ve test senaryolarını kaydederiz. Ekibiniz, uygulama başlamadan önce tanımı inceler.
- İşlevleri oluşturun ve test edinÜzerinde anlaşılan davranışı uygular ve beklenen ve kısıtlanmış eylemler için testler hazırlarız. Teknik bağlantı kişinizle ilerlemeyi ve açık soruları paylaşırız.
- Bağımsız bir incelemeyi koordine edinDenetim koordinasyonu dahil edildiğinde, inceleme materyallerini hazırlar ve bulgulara yanıtları düzenleriz. Üzerinde anlaşılan değişiklikleri yapar ve ilgili testleri yeniden çalıştırırız.
- Yayın ve teslimatı hazırlayınÜzerinde anlaşılan kodu, test notlarını ve dağıtım materyallerini sağlarız. Ekibiniz yayın sahipliğini teyit eder ve dağıtım ayrıntılarını kontrol eder.
Sık sorulan sorular
Bir sözleşme inşasını tartışmadan önce ne toplamalıyım?
Kısa bir ürün taslağı, sözleşmenin desteklemesi gereken kullanıcı eylemleri ve bildiğiniz kuralları getirin. Seçtiyseniz hedef zinciri, ayrıca mevcut kodu veya teknik notları ekleyin. Cevaplanmamış soruları da işaretleyin. Örneğin, vesting alıcılarını biliyor olabilirsiniz ancak yine de bir değişikliği kimin onaylayabileceğine karar vermeniz gerekebilir.
Vesting veya staking'i halihazırda kullandığımız kurallara göre uyarlayabilir misiniz?
Evet. Başlangıç noktası olarak önceden belirlenmiş bir tahsisat veya ödül tasarımı varsaymak yerine onayladığınız kuralları kullanırız. Vesting için tokenleri kimin aldığını, ne zaman talep edebileceklerini ve izinleri kimin yönettiğini paylaşın. Staking için para yatırma, çekme ve ödülleri tanımlayın. Bu ayrıntıları, ekibinizin incelemesi için işlevlere ve testlere dönüştürürüz.
Sözleşme teslimatı neleri içerir?
Teslimat, inşanız için kararlaştırılan öğeleri içerir: kaynak kodu, testler, sözleşme davranışının sade bir dille açıklaması ve dağıtım notları. Denetim koordinasyonu dahil edildiğinde bağımsız bir inceleme için materyaller de hazırlayabiliriz. Uygulamadan önce, ekibinizin çalışmayı devralması için hangi dosyalara ve notlara ihtiyacı olduğunu teyit ederiz.
Halihazırda seçtiğimiz bir denetçiyle koordinasyon sağlayabilir misiniz?
Evet. Koordinasyon dahil edilmişse, şartnameyi ve kodu inceleme için hazırlayabilir, teknik ekibinizle soruları düzenleyebilir ve bulgulara verilen yanıtları takip edebiliriz. İncelemeyi yapan taraf denetimi gerçekleştirir. Planlama sırasında denetçinizin kim olduğunu bize bildirin, böylece materyallerin nasıl paylaşılacağı ve soruların nasıl yönlendirileceği konusunda anlaşabiliriz.
Özel bir sözleşme inşası genellikle ne kadar sürer?
Kuralları, zinciri, bağlı parçaları ve inceleme ihtiyaçlarını inceledikten sonra bir çalışma takvimi belirleriz. Davranışı kararlaştırılmış odaklı bir inşa, açık izin veya entegrasyon kararları olan bir inşadan daha kolay planlanır. Zamanlamayı uygulamadan önce teyit eder, ardından kararlaştırılan takvimi etkileyebilecek seçenekleri işaretleriz.
Testleri geçmek, her sözleşme yolunun güvenli olduğunu gösterir mi?
Hayır. Bir test geçişi, kodun kendisi için yazılan senaryolarda nasıl davrandığını gösterir; olası her yolun incelendiği anlamına gelmez. Bağımsız bir denetim de üzerinde anlaşılan incelemesini yansıtır. Testleri ve kalan varsayımları belgelendiririz, böylece ekibiniz bilinçli bir yayın kararı verebilir.
Sözleşmeyi mevcut ürün ekibimizle birlikte oluşturabilir misiniz?
Evet. Çalışmamızın geliştiricileriniz, arayüz ekibiniz veya cüzdan çalışmalarınızla nasıl bağlanacağı konusunda anlaşabiliriz. Örneğin, sözleşmenin kimin sorumlu olduğunu, arayüz gereksinimlerini kimin sağladığını ve yayın ayrıntılarını kimin onayladığını belirleriz. Bu, inşa uygulamaya geçmeden önce teslimat noktalarını netleştirir.
Projenizi anlatın
Dört hızlı soruyu yanıtlayın, yöneticiniz bir saat içinde plan, zamanlama ve fiyat aralığı göndersin. Her şey gizli kalır.
Form yükleniyor…