Klasörü aç
Proje klasörünüzü uygulamada açın.
Blokların nasıl birbirine bağlandığını anlamak istiyorsunuz. Yerel bir listede veri depolayan küçük bir Python betiği yazarak başlıyorsunuz. Her bloğu doğrulamak için bir hash fonksiyonu ekliyorsunuz. Zincirin nasıl büyüdüğünü görmek için betiği çalıştırıyorsunuz. Bağların geçerli olduğunu onaylamak için çıktıyı kontrol ediyorsunuz. Dosyayı proje klasörünüze kaydediyorsunuz. Dağıtılmış durumu incelemek için sözleşme odaklı bir blok gezgini kullanıyorsunuz.
Proje klasörünüzü uygulamada açın.
Yeni bir Python betiği dosyası oluşturun.
Blok yapısını ve hash mantığını yazın.
Zinciri doğrulamak için betiği çalıştırın.
blockchain.pykaydedildiblockchain.pydüzenlendipython blockchain.pyexit 0blockchain.pyokundu# Toy Chain Design
index: block number
timestamp: creation time
data: payload
previous_hash: sha256 of prev
hash: sha256 of this
nonce: proof number
rule: previous_hash must match prev block hash. No keys.Bu metin dosyası, örnek zinciriniz için alanları tanımlar. index, zaman damgası, veri, önceki hash, hash ve nonce listeler. Bir doğrulama kuralı içerir.
Mevcut kod tabanınızı anlamakla başlıyorsunuz ve yeni zincir mantığınızı nereye ekleyeceğinizi planlamak için list_dir kullanarak çalışma klasörünüzdeki tüm dosyaları görüyorsunuz. Listeyi kontrol edin. Agent, belirli betik dosyalarını bulmak için glob ve mevcut hash fonksiyonlarını aramak için grep kullanır. İlerlemeden önce düzeni onaylamak için dosya yapısını gözden geçirirsiniz. Blok sınıfı için yeni bir modül oluşturmaya karar verirsiniz. Net mantık ve doğrulanmış testlerle bir blokzinciri geliştirirsiniz. Agent, hibrit konsensüs zinciri pow plus voting için dizininize yeni dosyayı oluşturur. Ask first gibi onay modları, repo'nuzda bir şeyler değiştiren her eylemi kontrol etmenizi sağlar.
Tüm gerekli alanlara sahip blok sınıfını yazarsınız ve agent, hash hesaplama mantığıyla devam edebilmeniz için write_file kullanarak yeni modülü oluşturur. Çıktıyı okursunuz. Agent, test betiğinizi çalıştırmak için Shell kullanır ve çıkış kodunu net bir şekilde görür. Paket tarafından bildirilen tüm hataları düzeltir ve değişiklikleri taahhüt edersiniz. Bu yaklaşım, net bir yapıya sahip bir blokzinciri geliştirmenize yardımcı olur. Verileri güvenli bir şekilde izleyen bir blokzinciri uygulaması da geliştirebilirsiniz. Basit yerel defterler düşünülürken birçok kişi blokzincirinin modası geçip geçmediğini merak eder. Agent, sözleşme işlevinin nerede kullanıldığını bulmak için reponuzu list_dir ve grep kullanarak haritalar.