Testnet pública
La testnet pública lleva las reglas de consenso de mainnet bajo su propio chain id, de modo que lo que mide es el comportamiento de mainnet y no el suyo propio. Sus monedas no valen nada, y así debe ser.
Qué es#
zcd genesis --testnet
network zycord-testnet
chain id 2
params hash 0x0b732489dee8fd2bcb5fa37b513b2ea10edc616bd664ba5b55c69952f63e2c1b
genesis id 0xc1b21b079b3dfe781c40a187326bb8dbbcf0fb97164d6fdf7a7d6a536c74705b
state root 0x6974f84b8088039ab721fd6be6ac72b73845e5dc93f0b5625b4e9c564ccf73e3
genesis time 1789430400
cells written 6
allocations 0
Ejecuta ese comando antes de fiarte de esta página. Una compilación que imprime otro
id de génesis es una compilación en otra cadena, y no se conectará a esta — el
saludo inicial se rechaza antes de evaluar ningún bloque. allocations 0 es la afirmación sobre el premine,
comprobable en lugar de prometida.
La génesis fue el 2026-09-15T00:00:00Z (unix 1789430400). Puedes seguir
la cadena en testnet.zycord.com.
Se diferencia de mainnet en ocho valores y en nada más#
name, chain_id, genesis_target, max_target,
genesis_time, randomx_key_interval, h1_bond y
h1_vm. Los dos últimos son las alturas de activación, y aquí son más bajas a propósito:
la testnet llega a ellas en su primer y tercer día, de modo que la máquina se ejercita durante semanas antes
de que mainnet alcance esas mismas compuertas. Todo lo demás —
undo_depth, target_block_seconds, coinbase_maturity y
toda la tabla de gas — es el de mainnet a propósito. La tabla de gas
en especial, porque es lo que hace que el comportamiento de la comisión base medido aquí sea el de mainnet y no el de
esta red. Una testnet con su propia tabla de gas mide una cadena distinta.
| Parámetro | Testnet pública | Mainnet |
|---|---|---|
name | zycord-testnet | zycord |
chain_id | 2 | 1 |
genesis_time | 1789430400 — 2026-09-15T00:00:00Z | 1790812800 — 2026-10-01T00:00:00Z |
randomx_key_interval | 512 bloques | 2048 bloques |
h1_bond | 2.880 — hacia el día 1 | 40.320 — hacia el día 14 |
h1_vm | 8.640 — hacia el día 3 | 80.640 — hacia el día 28 |
target_block_seconds | 30 — idéntico | |
coinbase_maturity | 100 — idéntico | |
epoch_length | 2880 bloques, cerca de un día — idéntico | |
ttl_max | 240 bloques, cerca de dos horas — idéntico | |
treasury_share_bps | 300, es decir el 3% — idéntico | |
Una testnet puede reiniciarse desde la génesis. Cuando ocurre, sus monedas, su historia y sus listas de pares desaparecen, la red toma un chain id nuevo, y un directorio de datos que contenga la cadena antigua se rechaza al arrancar en lugar de mezclarse en silencio. Las dos redes además se desconectan en el saludo, así que nada pasa de una a otra sin ruido.
Unirse#
make build-randomx # the testnet is randomx-v1; see below
# -> bin/zcd-randomx, bin/zycordd-randomx
./bin/zycordd-randomx --testnet --dir ./testnet
make build-randomx, no make build. El
pow_engine de la testnet es randomx-v1, la misma función de trabajo que mainnet. Un binario
compilado sin la etiqueta se niega a arrancar contra ella en lugar de recurrir al motor de
desarrollo, que aceptaría una sola pasada de BLAKE3 como proof of work para cada cabecera que viera.
Los binarios etiquetados llevan la etiqueta en su nombre, de modo que compilar ambos deja
los dos en disco y el nombre del archivo dice qué motor lleva dentro. En otras partes de estas páginas los
comandos se escriben zcd y zycordd por brevedad; en esta red esos
son el par -randomx.
Arranque inicial#
El binario incluye una dirección semilla para esta red, y ninguna para ninguna otra. No tienes que encontrar un par antes de poder arrancar — el comando de arriba se une desde la semilla incorporada. Para aportar la tuya en su lugar, o además:
zycordd --testnet --dir ./testnet --peers-file peers.txt
zycordd --testnet --dir ./testnet --peers host:9421,host2:9421
zycordd --testnet --dir ./testnet --no-seeds --peers-file peers.txt
Sé accesible si puedes#
Zycord no hace travesía de NAT. Un nodo con --listen en un puerto alcanzable es
un sitio desde el que otros pueden arrancar, y la proporción de nodos así es la
condición falsable sobre la que descansa toda la decisión de no hacer travesía — se mide, no se supone.
zycordd --testnet --dir ./testnet \
--listen 0.0.0.0:9421 --advertise <public-address>:9421
Si no puedes abrir un puerto, deja --listen desactivado y sé periferia. Es una
forma perfectamente válida de participar. Comprueba cuál eres con curl -s
localhost:9420/network — listening: true con inbound: 0
tras unos minutos significa que el puerto no es realmente alcanzable.
Conseguir monedas#
Dos vías, y la segunda es aquella en torno a la que se diseñó esta red.
El faucet#
El explorador de testnet tiene uno. Paga una cantidad pequeña a cualquier dirección que le des, de modo que un envío, un reembolso y un barrido puedan ensayarse sin reservar antes dos gibibytes para RandomX. Qué es y por qué está construido así tiene página propia.
Existe en esta red y en ninguna otra. El faucet es una función del
explorador que está desactivada por defecto, y activarla exige nombrar una red — un nombre contrastado
con la cadena que ese explorador está indexando de verdad, con mainnet rechazado de plano.
Mainnet no tiene faucet ni premine, y eso es una comprobación en el binario y no una política
que alguien tenga que recordar.
No se acuña nada para él. El faucet guarda una clave corriente, firma una transferencia corriente a través de
la misma wallet/session que usa la línea de comandos, y paga una reclamación por bloque porque un
certificado lleva el estado que leyó y dos construidos sobre una misma lectura de su celda competirían.
Su saldo viene de la minería, así que un faucet vacío sigue vacío hasta que alguien lo rellena.
Minar uno mismo#
La vía sin cola y sin operador, y la misma distribución que tiene mainnet:
zcd wallet new --out miner.json
zycordd --testnet --dir ./testnet \
--mine --payout $(zcd wallet address --key miner.json)
Arráncalo antes de que la red abra si quieres — esa es la forma prevista de usarlo. Un nodo cuyo reloj no ha alcanzado la marca de tiempo más temprana que puede llevar el bloque siguiente se niega a construir uno, dice cuánto falta, y empieza a minar por su cuenta cuando llega el momento. No hay nada que programar ni nada que reiniciar, y se empareja y sincroniza durante todo el tiempo que espera.
La dirección de pago debe ser persistente (0x02) —
zcd wallet address imprime una por defecto, y zycordd rechaza cualquier otra
en lugar de avisar. Por qué.
coinbase_maturity es 100, así que durante aproximadamente los primeros cien bloques tras tu primera
recompensa solo los mineros pueden transaccionar. Esa rampa es la de mainnet y es parte de lo que esta red está
ensayando — y es la razón por la que el faucet existe aquí y no puede existir allí: el faucet
acorta la rampa para quien quiera ejercitar un monedero, en la única red donde acortarla
no cuesta nada.
Minar reserva el conjunto de datos de RandomX — unos 2 GiB, más ~256 MiB por época de clave retenida. Una máquina que puede verificar con holgura no necesariamente puede minar; los presupuestos están en Minería.
Las monedas de testnet no valen nada#
Por diseño, y de forma permanente. La red puede reiniciarse desde la génesis, que es para lo que sirve una testnet. Cualquiera que ofrezca comprarlas o venderlas está montando una estafa que ni siquiera necesita una historia.
Qué está midiendo esta red#
No es una demostración. Cuatro cosas para las que existe, para producir números:
- La pausa por cambio de clave. Con 512 bloques el recambio de clave de RandomX cae más o menos cada cuatro horas en lugar de las diecisiete de mainnet, así que la reconstrucción del conjunto de datos se ensaya lo bastante a menudo como para medirla en vez de teorizar sobre ella.
- El comportamiento de la comisión base bajo la tabla de gas de mainnet, que es la razón por la que aquí no se ajusta la tabla.
- La proporción de nodos accesibles, que es la primera condición para reabrir la decisión de no atravesar NAT.
- La espera previa al génesis, y si un arranque temprano honesto se convierte de verdad en un arranque puntual sin nada que reiniciar.
Cuando algo parece ir mal#
Ejecutar un nodo tiene la vía de diagnóstico para un nodo que no sincroniza, y el comando de reparación para un directorio de datos contra el que se niega a arrancar. Los hallazgos y las reproducciones van al gestor de incidencias; el proyecto prefiere el informe al beneficio de la duda.