DENEYSEL GELİŞTİRME AĞI · BELGELER
Mimari
V2 ve istemciler
src/shielded.rs: Orchard/Halo2 not, nullifier, Merkle witness, alıcı şifreleme, ZIP32, domain-bound işlem imzası ve proof doğrulaması. src/private_chain.rs: ayrı v2 blok/genesis, integer emisyon, havuz/hesap/olgunlaşma ve arz korunumu. src/private_node.rs: hash ile blok saklama, atomik canonical index, incremental append, doğrulanmış fork replay ve özel RPC. src/private_wallet.rs: cihazda tam zincir doğrulama, gizli not tarama ve imzalama. src/bin/sis-private.rs: CLI/miner.
desktop/ Windows ve Android için ortak Tauri/Rust cüzdanıdır. Webview harici sayfa yüklemez; anahtar ve proof üretimi native çekirdektedir. JSON IPC yalnız paketlenmiş yerel pencereye açıktır; dosya seçici ve dosya erişimi platform eklentilerinden gelir. Webview'a genel filesystem/shell yetkisi verilmez. Cüzdan belleği zaman aşımında kilitlenir; oturum sürümü, bekleyen işlem/bakiye yanıtlarını geçersiz kılar.
V2 iki node aynı VPS'te ayrı DB/kullanıcı/portlarla çalışır. Web sitesi bağımsız statik nginx kökünden; yalnız GET /explorer, /status, /blocks proxy edilir. Yönetim RPC ve yazma uçları dışarı açılmaz. TLS otomatik yenilemesi mevcut certbot timer'ını kullanır.
V1 referansı
Kod adı Sis; sembol ve marka henüz kesinleşmedi. Consensus ağ kimliği bir pazarlama ayarı değildir; sis-devnet-1 değişirse yeni ağ oluşur. Gelecekte coin adı UI yapılandırmasından ayrılacak.
src/chain.rs saf doğrulayıcı, blok/işlem modeli, emisyon, PoW ve durum replay'ini barındırır. Ağdan bağımsızdır. src/node.rs tek yazarlı SQLite, mempool, HTTP RPC ve eş polling'ini sağlar. src/main.rs CLI ve çok iş parçacıklı miner'dır. src/wallet.rs istemci tarafı vault ve anahtar türetir. research/bulletproofs-lab/ ayrı araştırma crate'idir; node/cüzdan binary'lerine bağlanmaz. web/ derlenen binary içine gömülür; dış CDN, analitik veya özel anahtar alanı yoktur.
Taşıma için JSON; hash ve imza için alan sırası sabit özel ikili kodlama kullanılır. Hash preimage'ında başlık domain'i, metinlerde u64 little-endian uzunluk ve sayılarda u64 little-endian vardır. BTreeMap durum sırasını sabit tutar. SQLite transaction + FULL synchronous ve WAL kullanılır. Tek süreç kilidi ikinci yazarı reddeder. Açılışta tüm zincir yeniden doğrulanır; bozuk veri üzerine yazılmaz.
P2P v0, loopback HTTP üzerinden önceden yapılandırılmış en çok sekiz eşe polling yapar. Uzak makinelerde SSH port forwarding gerekir. Gelen alternatif zincir yerel doğrulayıcıdan geçmeden kabul edilmez. Ağ keşfi, eş itibarı ve permissionless gossip henüz yoktur.
Next.js/PostgreSQL önerisi değerlendirildi: bu ölçekte ayrı indexer ve iki runtime gerekmiyor. Explorer doğrudan doğrulanmış Rust durumundan okur. Uzun zincir ve gerçek kullanıcı yükünde olay indeksleme ve sayfalı RPC eklenecek. Bu tercih üretim ölçeği iddiası değildir.
VPS'te iki ayrı süreç ve iki ayrı SQLite dosyası aynı binary ile çalışır; bunlar iki fiziksel bağımsız operatör değildir. Miner bir süreç, web/explorer node içinde. systemd kaynak sınırları için DEPLOYMENT.md'ye bakın.