« Tüm yayınlar

Satd: Rust ile Yazılmış Bitcoin Core Uyumlu Tam Node İncelemesi

Rust ile yazılmış Bitcoin Core uyumlu tam node satd'ın mimarisi, storage katmanı ve workspace yapısına dair kod turu.

Satd, Bitcoin Core ile dört alanda -konsensüs kuralları, P2P tel formatı, JSON-RPC metot şekilleri ve bitcoin.conf sözdizimi- bayt uyumluluğu hedefleyen, Rust ile yazılmış bir tam node projesi. Yaklaşık 219 bin satır Rust kodu, 19 workspace crate'i ve 24 bin satırlık bir Go SDK'sından oluşuyor; tüm kod örnekleri master dalından alınmış gerçek satırlar.

Proje, Core'un minimal ve temkinli yaklaşımının aksine, tek bir process ve tek bir RocksDB üzerinde Esplora REST, Electrum, BIP 157/158 filtre servisi ve Prometheus metriklerini bir araya getiriyor. ZMQ yerine cursor ile tekrar oynatılabilen yapılandırılmış bir olay akışı API'si ve Rust/Go SDK'ları sunuyor; ayrıca cüzdan içermiyor, imzalama işlemini istemci tarafına bırakıyor.

Mimari olarak tüm okuma yüzeyleri aynı RocksDB örneğine bağlı ve güncellemeler blok bağlama ile aynı yazma partisiyle ilerliyor, böylece hiçbir index tip ile senkron dışı kalmıyor. Store trait'i tek bir soyutlama üzerinden dört farklı backend'i (RocksDbStore, CoinCache, SplitStore, InMemoryStore) destekliyor ve StoreBatch üzerinden atomik yazma garantisi sağlıyor. Bu tasarım, bitcoind + electrs + esplora + nginx + exporter yığınını tek bir process'e sıkıştırmayı amaçlıyor.

Bu sentez, kaynağından yapay zeka tarafından üretildi; insan editör ya da elle onay adımı yoktur. Nasıl çalışıyoruz