Açık testnet
Açık testnet, mainnet'in uzlaşı kurallarını kendi zincir kimliği altında taşır; dolayısıyla ölçtüğü şey kendi davranışı değil, mainnet'in davranışıdır. Paraları hiçbir değer taşımaz ve bu böyle olsun diye tasarlanmıştır.
Nedir#
zcd genesis --testnet
network zycord-testnet
chain id 2
params hash 0xc4a670f04575ac3aa6e670888e1a42ec877779fda8e5519e2637f4df93815b57
launch commit 0x83aeb709b14b43a0296666f006d99378049064f3e30d8191e074e09d485e2ff7
genesis id 0x81094507a4a083d01e24af21bddbf4d7eb496472a69c4b5dfb0d7a27c6b03b55
state root 0x4f45e604e1fd7ccf066e20e5fd41105373a0ba0d28aea8fc825b8795e880384f
genesis time 1791158400
cells written 6
allocations 0
Bu sayfaya güvenmeden önce o komutu çalıştırın. Farklı bir genesis kimliği
yazdıran bir derleme, farklı bir zincir üzerindeki bir derlemedir ve buna bağlanmaz —
el sıkışma, daha bir blok değerlendirilmeden reddeder. allocations 0, premine
iddiasının vaat edilmiş değil, denetlenebilir hâlidir.
Genesis zamanı 2026-10-05T00:00:00Z (unix 1791158400) idi, yani mainnet'inkinden iki gün önce: testnet, açılışı aynı ikili dosya ve aynı yordamla prova etti. Şimdi Era 1'in önce çalıştığı yerdir — cEVM, sıralayıcılar, intent'ler ve fill'ler, dizin ve zorunlu yol burada ilk günü olan 2.880 yüksekliğinden beri etkindir; mainnet ise aynı kapıya 80.640 yüksekliğinde varır. Zinciri testnet.zycord.com adresinden izleyebilirsiniz.
Mainnet'ten on değerde ayrılır, başka hiçbir yerde değil#
name, chain_id, genesis_target, max_target, genesis_time, randomx_key_interval, h1_bond, h1_vm, coinbase_maturity ve launch_commit. Etkinleşme yükseklikleri burada bilerek daha düşüktür: testnet onlara ilk gününde ulaştı; böylece makine, mainnet aynı kapıya varmadan haftalar önce sınanır. h1_bond, h1_vm ile birlikte değişir ve iki ağda da hiçbir şey açmaz: teminatlandırma Era 1'in parçası değildir. Açılış taahhüdü testnet'in kendisine aittir; böylece testnet'in blok 1'i, mainnet'inkini açığa çıkarmadan mainnet'in açılışını prova eder. Geri kalan her şey — undo_depth, target_block_seconds, sübvansiyon bölünmesi ve gas çizelgesinin tamamı — bilerek mainnet'inkiyle aynıdır. Özellikle gas çizelgesi, çünkü burada ölçülen taban ücret davranışını bu ağın kendisine ait değil, mainnet'e ait kılan odur. Kendi gas çizelgesiyle çalışan bir testnet, başka bir zinciri ölçer.
| Parametre | Açık testnet | Mainnet |
|---|---|---|
name | zycord-testnet | zycord |
chain_id | 2 | 1 |
genesis_time | 1791158400 — 2026-10-05T00:00:00Z | 1791331200 — 2026-10-07T00:00:00Z |
randomx_key_interval | 512 blok | 2048 blok |
h1_bond, h1_vm | 2.880 — yaklaşık 1. gün | 80.640 — yaklaşık 28. gün |
coinbase_maturity | 100 blok | 240 blok |
target_block_seconds | 30 — aynı | |
epoch_length | 2880 blok, yaklaşık bir gün — aynı | |
ttl_max | 240 blok, yaklaşık iki saat — aynı | |
emission_ramp_blocks | 86.400, 30 günlük ödül rampası — aynı | |
founder_share, treasury_share_bps | %94 madenci, 3.153.600'e kadar %3 kurucu, %3 hazine — aynı | |
Bir testnet genesis'ten sıfırlanabilir. Sıfırlandığında paraları, geçmişi ve eş listeleri kaybolur, ağ yeni bir zincir kimliği alır ve eski zinciri barındıran bir veri dizini sessizce karıştırılmak yerine başlangıçta reddedilir. İki ağ el sıkışma sırasında da bağlantıyı keser, dolayısıyla sessizce hiçbir şey devrolmaz.
Katılma#
make build-randomx # the testnet is randomx-v2; see below
# -> bin/zcd-randomx, bin/zycordd-randomx
./bin/zycordd-randomx --testnet --dir ./testnet
make build değil, make build-randomx. Testnet'in pow_engine değeri randomx-v2'dir, yani mainnet ile aynı iş işlevi. Etiketsiz derlenen bir ikili dosya, geliştirme motoruna geri düşmek yerine bu ağa karşı başlamayı reddeder; o motor, gördüğü her başlık için tek bir BLAKE3 geçişini proof of work olarak kabul ederdi.
Etiketli ikili dosyalar etiketi adlarında taşır; böylece ikisini birden
derlemek ikisini de diskte bırakır ve dosya adı, içindeki motorun hangisi olduğunu söyler. Bu
sayfaların başka yerlerinde komutlar kısalık olsun diye zcd ve zycordd
olarak yazılıyor; bu ağda bunlar -randomx çiftidir.
Önyükleme#
İkili dosya testnet'in tohumlarını taşır: 19421 numaralı portta seed1.zycord.com ile seed4.zycord.com arası. Mainnet'in tohumları 9421 portundaki aynı sunuculardır ve iki ağ el sıkışmada birbirini reddeder; böylece hiçbir şey karışmaz. Tohum olarak testnet.zycord.com adresini belirten eski bir ikili dosya, etrafından dolaşılmak yerine değiştirilmelidir. Bunun yerine ya da buna ek olarak başka eşler vermek için:
zycordd --testnet --dir ./testnet --peers-file peers.txt
zycordd --testnet --dir ./testnet --peers host:19421,otherhost:19421
zycordd --testnet --dir ./testnet --no-seeds --peers-file peers.txt
Yapabiliyorsanız aranabilir olun#
Zycord NAT geçişi yapmaz. Erişilebilir bir portta --listen ile çalışan bir düğüm,
başkalarının kendisinden önyükleme yapabileceği bir yerdir ve böyle düğümlerin payı,
NAT geçişi yapmama kararının tümüyle dayandığı yanlışlanabilir koşuldur — varsayılmaz,
ölçülür.
zycordd --testnet --dir ./testnet \
--listen 0.0.0.0:9421 --advertise <public-address>:9421
Bir portu yönlendiremiyorsanız --listen vermeyin ve çeperde kalın. Bu da katılmanın
gayet iyi bir yoludur. Hangisi olduğunuzu curl -s
localhost:9420/network ile denetleyin — birkaç dakika sonra inbound: 0
ile birlikte listening: true görüyorsanız, port gerçekte erişilebilir değildir.
Para edinme#
İki yol var ve bu ağın etrafında tasarlandığı yol ikincisi.
Musluk#
Testnet gezgini bir tane çalıştırıyor. Ona verdiğiniz herhangi bir adrese küçük bir tutar öder; böylece bir gönderim, bir iade ve bir süpürme, önce RandomX'e iki gibibayt ayırmadan prova edilebilir. Nedir ve neden böyle kurulmuştur, kendi başına bir sayfadır.
Bu ağda vardır, başka hiçbir ağda yoktur. Musluk, gezginin varsayılan olarak
kapalı olan bir özelliğidir ve etkinleştirmek için bir ağ adı verilmesi gerekir — bu ad, o
gezginin gerçekten indekslediği zincire karşı denetlenir ve mainnet düpedüz
reddedilir. Mainnet'te musluk ve premine yoktur; bu da birinin hatırlamak zorunda olduğu bir
ilke değil, ikili dosyadaki bir denetimdir.
Onun için hiçbir şey basılmaz. Musluk sıradan bir anahtar tutar, komut satırının kullandığı
aynı wallet/session üzerinden sıradan bir transferi imzalar ve blok başına tek bir
talebi karşılar; çünkü bir sertifika okuduğu durumu taşır ve kendi hücresinin tek bir okumasına
dayanarak kurulan iki sertifika yarışa girerdi. Bakiyesi madencilikten gelir, dolayısıyla boş bir
musluk, biri onu yeniden doldurana kadar boş kalır.
Kendi kendine madencilik#
Kuyruksuz ve işletmecisiz yol, üstelik mainnet'in aldığı dağıtımın aynısı:
zcd wallet new --out miner.json
zycordd --testnet --dir ./testnet \
--mine --payout $(zcd wallet address --key miner.json | awk '/^persistent/ {print $3}')
Ödeme adresi kalıcı (0x02) bir adres olmak zorundadır — zcd wallet address çıktısındaki, sıradaki one-shot adresi de yazdıran persistent satırı — ve zycordd uyarmak yerine başka hiçbir şeyi kabul etmez. Neden.
coinbase_maturity 100'dür, dolayısıyla ilk ödülünüzden sonraki kabaca ilk yüz blok
boyunca yalnızca madenciler işlem yapabilir. Bu rampa mainnet'in rampasıdır ve bu ağın prova
ettiği şeyin bir parçasıdır — musluğun burada var olup orada var olamamasının nedeni de
budur: musluk, bir cüzdanı denemek isteyen biri için rampayı kısaltır, hem de kısaltmanın hiçbir
şeye mal olmadığı tek ağda.
Madencilik, RandomX veri kümesini ayırır — yaklaşık 2 GiB, artı tutulan anahtar epoch'u başına ~256 MiB. Rahatça doğrulayabilen bir makine, ille de madencilik yapabilecek demek değildir; bütçeler Madencilik altındadır.
Testnet paraları hiçbir değer taşımaz#
Tasarım gereği ve kalıcı olarak. Ağ genesis'ten sıfırlanabilir, zaten bir testnet bunun içindir. Bunları alıp satmayı teklif eden herkes, bir hikâyeye bile ihtiyaç duymayan bir dolandırıcılık yürütüyordur.
Bu ağ neyi ölçüyor#
Bu bir tanıtım değildir. Sayı üretmek için var olduğu dört şey:
- Anahtar değişimi duraklaması. 512 blokta RandomX yeniden anahtarlama, mainnet'in on yedi saatlik aralığı yerine kabaca her dört saatte bir gerçekleşir; böylece veri kümesi yeniden kurulumu, üzerine kuram üretmek yerine ölçülebilecek kadar sık prova edilir.
- Mainnet gas çizelgesi altında taban ücret davranışı; çizelgenin burada değiştirilmemesinin nedeni de budur.
- Aranabilir düğümlerin payı; bu, NAT geçişi yapmama kararının ilk yeniden açılma koşuludur.
- Gerçek yük altında Era 1: canlı bir ağda sıralayıcılar, fill'ler ve zorunlu yol, mainnet kendi kapısına varmadan haftalar önce.
Bir şey yanlış göründüğünde#
Düğüm çalıştırma sayfasında, eşitlenmeyen bir düğüm için tanı yolu ve karşısında başlamayı reddettiği bir veri dizini için onarım komutu bulunur. Bulgular ve yeniden üretim adımları sorun izleyicisine aittir; proje, şüpheden yararlanmaktansa raporu almayı yeğler.