ZYCORD belgeler
Türkçe
Zycord Kaynak kodu

Kaynak kodu

MIT lisanslı tek bir depo: düğüm, cüzdan, komut satırı, parametre kümeleri ve protokolü tanımlayan altın vektörler. Ağın üzerinde çalıştığı her şey içindedir.

Bu sitedeki hiçbir şey, kimseye sormadan kendiniz sınayabileceğinizden daha değerli değildir; sınama da burada başlar. Anonim bir yazar size itibar sunamaz; bunun yerine sunulan şey, okuyabileceğiniz, derleyebileceğiniz ve size verilen ikili dosyalarla karşılaştırabileceğiniz bir ağaçtır.

Klonlayın#

git clone https://gitlab.com/zycord-group/zycord-node.git
cd zycord-node

Ya da önce tarayıcıda okuyun: gitlab.com/zycord-group/zycord-node.

Tek depo budur

Bu projenin kurallı konumları — bu da dahil — duyuru başlığındaki imzalı beyanda, E724 39CE DD85 11F9 D607 550B 87FD 60D5 EB4A 0B29 proje anahtarı altında sabitlenmiştir. Başka bir yerde barındırılan bir ağaç bir kopyadır: dürüst olabilir, bayat olabilir, düşmanca olabilir ve bu sayfadaki hiçbir şey hangisi olduğunu size söyleyemez. Bir aynaya güvenmeden önce imzalı listeyi denetleyin ve karmasını kendiniz doğruladığınız bir etiketten derleyin.

İçinde ne var#

DizinNe barındırır
spec/Protokol. Parametre kümeleri, altın vektörler ve önceden dağıtılmış kitaplık imgeleri. Vektörleri geçen bir uygulama bir eştir, bir çatal değil.
core/Uzlaşı açısından kritik kod, yalnızca standart kitaplık: hücre modeli, durumsuz geçerlilik, fold, sertifikaya uyarlanmış EVM ve bir derleme etiketinin ardındaki RandomX.
node/O çekirdeğin etrafındaki düğüm — depolama, mempool, madenci, eş katmanı, eşitleme, salt okunur RPC, Stratum.
wallet/Anahtar yönetimi ve sertifika oluşturucuları. Bir referanstır, uzlaşı değil.
cmd/zycordd, düğüm; zcd, komut satırı ve cüzdan.
sim/Simülatör ve fuzz koşum takımları, gerçeğine karşı fuzz'lanan, bilerek saf yazılmış ikinci bir fold ve gerçek düğümleri gerçek soketler üzerinde çalıştıran kaos testi.
contracts/Referans sözleşmeler, Solidity ile.
packaging/Kurulum betiği ve platform paketleri; çalıştırmadan önce gözden geçirilebilir.
docs/Mimari, protokol başvurusu, işletme kılavuzu ve teknik doküman.

Protokol, vektörlerdir#

Bu ağaçtaki Go kodu bir referans uygulamadır ve bilerek o tanım değildir. Ağı tanımlayan şey, parametre kümeleri ve altın vektörlerdir: her fold, blok ve geçerlilik kuralı bir (önceki durum, blok) → (sonraki durum, ücretler) örneği olarak, olumlu ve olumsuz. Kendi düğümünüzü istediğiniz dilde yazın — derlemi geçiyorsa bir eştir ve bu uygulamanın onun üzerinde hiçbir üstünlüğü yoktur.

Etkinleşme yükseklikleri de aynı yerde durur. h1_bond ve h1_vm, bir sürüm değil, genesis'te dondurulmuş parametrelerdir: makine her ikili dosyaya derlenmiştir ve kendi yüksekliğinin altında reddedilir; dolayısıyla bir Era, zincir bir sayıya ulaştığı için gelir, işletmecilerden yükseltme yapmaları istendiği için asla.

Derleyin#

make build           # no cgo, reproducible, development engine only
make build-randomx   # the network binary: mainnet and the public testnet

Bir ağa yalnızca RandomX derlemesi katılabilir. Varsayılan derleme bayt bayt yeniden üretilebilir ve yerel bir devnet çalıştırır; ikisi bilerek farklı dosyalar yazar, böylece mainnet ile konuşamayan bir ikili dosya, konuşabilen biriyle asla karıştırılmaz. Go araç zinciri go1.26.2'ye sabitlenmiştir ve derleme başka hiçbir sürümde çalışmayı reddeder; çünkü aynı kaynağın iki Go sürümüyle derlenmesi, iki farklı ikili dosya demektir.

Yayımlanmış bir etiketi yeniden derleyip karmaları karşılaştırmak, yayıncıya güvenmenin yerini alan denetimdir — tam yordam İndirmeyi doğrulama sayfasındadır ve Kurulum sıradan kullanım için derlemeyi anlatır.

Sorunlar ve güvenlik#

Hatalar, sorular ve yamalar sorun izleyicisine gider; CONTRIBUTING.md ise bir değişikliğin birleştirilebilmesi için nelere ihtiyaç duyduğunu söyler.

Bir güvenlik açığı izleyiciye değil, SECURITY.md içindeki açıklama sürecine gider. Proje, şüpheden yararlanmaktansa raporu almayı yeğler ve mainnet'ten önce bulunan bir kusur kimseye hiçbir şeye mal olmaz.

Lisans#

Ağacın tamamı için MIT. Çatallayın, dağıtın, satın, adını değiştirin — lisansın istediği tek şey bir telif bildirimi. Size veremeyeceği tek şey ağın kendisidir: ona, bloklarınızı kabul eden düğümler karar verir ve onlar da spec/ içindeki kurallara göre kabul eder.