ZYCORD documentación
Español
ZycordDocumentaciónTestnet pública

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    0xc4a670f04575ac3aa6e670888e1a42ec877779fda8e5519e2637f4df93815b57
launch commit  0x83aeb709b14b43a0296666f006d99378049064f3e30d8191e074e09d485e2ff7
genesis id     0x81094507a4a083d01e24af21bddbf4d7eb496472a69c4b5dfb0d7a27c6b03b55
state root     0x4f45e604e1fd7ccf066e20e5fd41105373a0ba0d28aea8fc825b8795e880384f
genesis time   1791158400
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.

El génesis fue el 2026-10-05T00:00:00Z (unix 1791158400), dos días antes que el de mainnet: la testnet ensayó el lanzamiento con el mismo binario y el mismo procedimiento. Ahora es donde la Era 1 se ejecuta primero — la cEVM, los secuenciadores, los intents y los fills, el directorio y el camino forzado están activos aquí desde la altura 2.880, su primer día, mientras que mainnet llega a la misma puerta en la altura 80.640. Puedes observar la cadena en testnet.zycord.com.

Se diferencia de mainnet en diez valores y en nada más#

name, chain_id, genesis_target, max_target, genesis_time, randomx_key_interval, h1_bond, h1_vm, coinbase_maturity y launch_commit. Las alturas de activación son aquí más bajas a propósito: la testnet las alcanzó en su primer día, así que la máquina se ejercita durante semanas antes de que mainnet llegue a la misma puerta. h1_bond se mueve con h1_vm y no abre nada en ninguna de las dos redes: las fianzas no forman parte de la Era 1. El compromiso de lanzamiento es el propio de la testnet, de modo que su bloque 1 ensaya el lanzamiento de mainnet sin revelar el de mainnet. Todo lo demás — undo_depth, target_block_seconds, el reparto del subsidio y toda la tabla de gas — es el de mainnet a propósito. La tabla de gas especialmente, 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 otra cadena.

ParámetroTestnet públicaMainnet
namezycord-testnetzycord
chain_id21
genesis_time1791158400 — 2026-10-05T00:00:00Z1791331200 — 2026-10-07T00:00:00Z
randomx_key_interval512 bloques2048 bloques
h1_bond, h1_vm2.880 — hacia el día 180.640 — hacia el día 28
coinbase_maturity100 bloques240 bloques
target_block_seconds30 — idéntico
epoch_length2880 bloques, cerca de un día — idéntico
ttl_max240 bloques, cerca de dos horas — idéntico
emission_ramp_blocks86.400, la rampa de recompensa de 30 días — idéntico
founder_share, treasury_share_bps94% al minero, 3% al fundador hasta 3.153.600, 3% a la tesorería — idéntico
Borra tu directorio de datos antes de unirte a una red reiniciada

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-v2; 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-v2, 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 lleva las semillas de la testnet: de seed1.zycord.com a seed4.zycord.com en el puerto 19421. Las semillas de mainnet son los mismos hosts en el 9421, y las dos redes se rechazan mutuamente en el saludo inicial, así que nada se mezcla. Un binario antiguo que indique testnet.zycord.com como semilla debe sustituirse en lugar de sortear el problema. Para aportar otros pares en su lugar, o además:

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

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 | awk '/^persistent/ {print $3}')

La dirección de pago debe ser persistente (0x02) — la línea persistent de zcd wallet address, que imprime también la siguiente dirección de un solo uso — 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 Era 1 bajo carga real: secuenciadores, fills y el camino forzado en una red en vivo, semanas antes de que mainnet llegue a su puerta.

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.