Trabajo en curso

Trabajo en curso: estamos construyendo este sitio antes de la MainNet. Los detalles cambiarán.

Este sitio aún está en construcción

ZooBC se construye a la vista de todos. Lo que ves aquí es actual y honesto, pero no está terminado: léelo como el punto en el que estamos hoy, no como una declaración definitiva.

De aquí a la MainNet habrá cambios: redacción, estructura, imágenes y cifras. Algunas páginas son provisionales.

El ecosistema ZooBC en su conjunto llega por etapas. La billetera, el explorador y los canales de la comunidad se irán activando a medida que se acerque la MainNet, y este sitio crece con ellos.

Si algo te parece incorrecto, roto o engañoso, dínoslo. Tus comentarios ahora valen más para nosotros que un lanzamiento pulido más adelante.

ZOOBC / MANUAL

Billetera ZooBC, manual de usuario

Manual de la billetera

Reescrito a partir del manual V0.36 para la billetera V0.51. Terminología actualizada: la cadena renombró game/games como app/apps, por lo que los endpoints son /api/v1/apps y las claves son app_type.

Versión V0.36 · julio de 2026

Este manual documenta cada pantalla, pestaña, campo y tipo de transacción de la billetera ZooBC. La billetera es un único archivo HTML que se ejecuta íntegramente en tu navegador: tus claves nunca salen de tu dispositivo, todas las transacciones se construyen y firman localmente, y a la red solo se envían los bytes firmados finales.


Índice

  1. Conceptos básicos
  2. Primeros pasos
  3. La interfaz principal
  4. INICIO, Panel, Pendientes, Activas, Actividad
  5. BILLETERA, Enviar, Recibir, Depositar, Retirar, Programadas, Multifirma, Política
  6. ACTIVOS, Tokens, Archivos, Exchange, Mercado
  7. SOCIAL, Contactos, En línea, Chat, Llamadas
  8. NEGOCIOS, Facturas, Formularios, Notaría
  9. APPS, el Arcade
  10. AVANZADO, Claves y semillas, Billetera de papel, Transmitir
  11. SISTEMA, Ajustes, Nodo, Red, Pasarelas, Relés, Gobernanza
  12. Referencia de transacciones
  13. Solución de problemas
  14. Glosario

1. Conceptos básicos

1.1 La moneda y sus unidades

La moneda nativa es ZBC. En la cadena, cada cantidad se almacena en unidades atómicas: 1 ZBC = 100,000,000 atómicas (10⁸). La billetera siempre muestra cantidades legibles y hace la conversión en los extremos. Los tokens emitidos tienen sus propios decimales (0–8) y también se almacenan en unidades base.

1.2 Cuentas y formatos de dirección

Una billetera puede contener cuentas de muchos esquemas de clave. Cada cuenta se almacena en la cadena como una cuenta tipada: un prefijo de tipo de 4 bytes + el material de clave. Formatos compatibles:

FormatoTipoEsquema de claveAspecto de la dirección
ZooBC0ed25519ZBC_XXXX_… (base32 + suma de verificación)
Ethereum / BNB4secp256k1 + keccak0x… (mismos bytes, distinta etiqueta)
Bitcoin legacy (P2PKH)5secp256k11…
Bitcoin P2SH6(solo recepción)3…
Bitcoin SegWit (P2WPKH)7secp256k1bc1q…
Bitcoin P2WSH8(solo recepción)bc1q… (larga)
Bitcoin Taproot9BIP-340 schnorrbc1p…
Depósito de conjunto de datos10(cuenta de alquiler del objeto)ZBS_…
Solana11ed25519clave pública base58
Polkadot12sr25519 (Schnorrkel)SS58
Cardano13ed25519addr1…
Ripple14secp256k1r…
Tron15secp256k1 + keccakT…
Tezos16ed25519tz1…

Cualquier formato puede enviar y recibir en la cadena de ZooBC: una cuenta en formato Bitcoin firma las transacciones de ZooBC con su clave de Bitcoin. La dirección se obtiene exactamente igual que en la cadena original, de modo que un depósito a través del puente desde esa cadena se abona automáticamente en la cuenta reflejada (consulta Depositar).

Rutas de derivación (a partir de una frase BIP-39): ZooBC m/44'/883'/account' (SLIP-0010 ed25519); ETH/BNB BIP-44 moneda 60; BTC BIP-44/84/86 para legacy/SegWit/Taproot; Solana m/44'/501'/account'; Cardano moneda 1815; Tezos moneda 1729; Polkadot usa la derivación mini-secret de Substrate.

1.3 Transacciones, comisiones, depósito en garantía

Cada acción en la cadena es una transacción firmada con un número de tipo, una comisión en ZBC, un mensaje opcional y un envoltorio de depósito en garantía opcional (aprobador + plazo + comisión + instrucción). La comisión de red predeterminada es de 0.05 ZBC (base de 0.025 + margen para transacciones que llevan datos); la billetera la rellena de antemano y la aumenta automáticamente para mensajes grandes. La lista completa de tipos está en la sección 12.

1.4 Pasarelas, nodos, relés

  • Un nodo valida la cadena.
  • Una pasarela es el servidor web con el que se comunica la billetera; sirve la billetera y el explorador, y está delante de uno o más nodos.
  • Un relé es el servidor de llamadas y presencia que ejecuta una pasarela; transporta la señalización de las llamadas y el estado en línea.
  • Un nodo de archivo además sirve el historial completo y la API del explorador.

Si la pasarela configurada deja de funcionar, la billetera cambia automáticamente a otra: nodo actual → alternativas integradas → tus nodos adicionales (Ajustes → Nodo) → pasarelas obtenidas del registro en la cadena.

1.5 Alquiler de almacenamiento y objetos de supervivencia

Los datos escritos en la cadena (conjuntos de datos, archivos almacenados, tokens) pagan alquiler de almacenamiento. Cada objeto tiene una dirección de depósito ZBS_ que se puede financiar, derivada de la transacción que lo creó; cuando el depósito se agota, el objeto puede eliminarse. Puedes ampliar la longevidad de cualquier objeto (consulta Archivos → Objetos).

1.6 Modelo de seguridad

  • Tu frase de recuperación / clave nunca sale de la página; la firma es local.
  • La persistencia en el dispositivo es un almacén cifrado bloqueado con un PIN de 6 dígitos (5 intentos fallidos borran el almacén; la frase lo restaura).
  • Desbloqueo opcional con llave de acceso (passkey) (Face ID / Touch ID / Windows Hello).
  • Las cuentas de solo observación pueden verlo todo pero no pueden firmar; las páginas que requieren clave se ocultan.
  • El modo aislado (air-gap) firma sin conexión y exporta JSON/QR en lugar de transmitir.

2. Primeros pasos

2.1 Antes de abrirla, comprueba que el archivo es auténtico

Esta billetera es un único archivo que abres en un navegador y en el que luego escribes tu frase de recuperación. Una copia

falsa tiene el mismo aspecto y se comporta con normalidad, justo hasta el momento en que envía tu frase a otro

lugar. Nada en la pantalla puede advertirte, porque para entonces es la propia página falsa la que se encarga de advertirte.

Así que comprueba el archivo antes de abrirlo. Lleva unos diez segundos.

La forma fácil. Abre /verify en la pasarela desde la que lo descargaste y arrastra el archivo al recuadro.

La comprobación se ejecuta dentro de tu propio navegador; el archivo nunca se sube a ningún sitio.

La forma que solo necesita una terminal. Un hash es la huella digital de un archivo: si cambias un byte,

cambia por completo, y nadie puede trabajar a la inversa para construir un archivo distinto con la misma

huella digital.


sha256sum "ZooBC Wallet.html"

Compara lo que muestra, carácter por carácter, con el hash publicado para ese archivo.

Luego pregúntate quién te dio la huella digital. Esta es la parte que importa, y la página /verify lo

dice explícitamente:

lo que dicelo que significa
en la cadenaEl hash fue firmado en un bloque por la autoridad de publicación, una única clave fijada en la génesis de la cadena, que es lo único autorizado a registrar el hash de un archivo. Todos los nodos guardan ese registro. Un sitio web no puede cambiarlo, falsificarlo ni eliminarlo.
esta pasarela lo afirmaEl hash proviene del sitio web que estás viendo. Eso detecta una descarga corrupta o una falsificación descuidada. No sirve de nada si ese sitio web es el propio atacante, porque entonces el archivo y su huella digital son ambos falsos y coinciden perfectamente.
REVOCADO en la cadenaLa autoridad publicó este archivo y después lo retiró, normalmente porque resultó estar comprometido o ser defectuoso. Esto es peor que un archivo no reconocido, no mejor: la cadena tiene algo concreto que decir sobre este. Bórralo y descarga un archivo actual. Que un sitio web lo siga ofreciendo es motivo de más sospecha, no de menos.

Para cualquier cosa que implique dinero, exige una coincidencia en la cadena. Que una pasarela responda por sus

propias descargas no es una prueba.

Cómo comprobarlo sin confiar en ningún sitio web. Todo lo anterior sigue ejecutándose en una página que alguien

te sirve. Si quieres una comprobación que no dependa de eso, pregunta directamente a un nodo, a cualquiera, incluido uno que operes

tú mismo. Dos comandos:


sha256sum "ZooBC Wallet.html"
curl -s https://zoobc.network/api/v1/release/list

Si el hash de tu archivo aparece en esa lista, es un archivo que publicó la autoridad de publicación. Si no

aparece, ninguna garantía de ningún sitio web hace que sea seguro escribir en él una frase de recuperación.

También puedes preguntar qué clave tiene permiso para publicar:


curl -s https://zoobc.network/api/v1/release/authority

zoobc.network es la pasarela pública de la TestNet de ZooBC, no la MainNet. Sustituye el host por tu propio nodo para verificar sin confiar en esa pasarela.

Todos los nodos responden lo mismo, porque está escrito en la cadena. Pregunta a dos nodos operados por

personas distintas y compara: ese es todo el sentido del diseño, y solo te cuesta un

comando más.

Si /verify advierte de que hay un cambio de autoridad de publicación pendiente, detente y averigua el motivo antes de

confiar en nada de lo que hayas descargado de ese sitio. La autoridad es la única clave detrás de cada afirmación de

esa página, y proponer trasladarla es justo lo que haría alguien que acabara de robarla. Puede

que sea una rotación planificada, pero confírmalo por un canal que no pase por el

sitio web en cuestión, porque un sitio comprometido te tranquilizará encantado sobre su propio traspaso.

Esto importa más a medida que ZooBC se extiende a otras billeteras y otros idiomas. Nunca deberías tener que fiarte de la palabra de nadie sobre qué archivo es auténtico: la cadena existe precisamente para que no tengas que hacerlo.

2.2 Primer inicio, aviso de riesgos

En el primer inicio se muestra un Aviso sobre la interfaz de software y reconocimiento de riesgos del usuario. Debes aceptarlo (o salir); los Términos de servicio completos siguen disponibles en el pie de página en todo momento.

2.3 Pantalla de bienvenida

La tarjeta de bienvenida ofrece:

  • Frase de recuperación o clave secreta: pega una frase BIP-39 de 12/15/18/21/24 palabras o una clave privada de 64 caracteres hexadecimales. El botón del ojo la muestra u oculta.
  • Formato de billetera: ZooBC (predeterminado), Ethereum, BNB, Bitcoin, Solana, Polkadot, Cardano, Ripple, Tron, Tezos. Para Bitcoin, un selector adicional permite elegir SegWit (bc1q…), Legacy (1…) o Taproot (bc1p…). La misma frase genera una dirección distinta en cada formato.
  • Cuenta n.º: selector para elegir un índice de derivación (varias cuentas a partir de una frase).
  • Desbloquear billetera: abre la billetera con las credenciales introducidas.
  • Crear una billetera nueva: genera una frase nueva (ver abajo).
  • Restaurar desde un archivo de copia de seguridad: carga una copia de seguridad cifrada del almacén (.json); pide el PIN con el que se guardó.
  • Enlace Ajustes del nodo: establece la URL de la pasarela antes de iniciar sesión.

2.4 Crear una billetera nueva

  1. Elige la longitud de la frase (12–24 palabras). Las palabras se muestran como etiquetas numeradas; botones Copiar frase, Copiar lista numerada y Nueva frase.
  2. Un aviso te recuerda que la frase es la única copia de seguridad. Marca "He anotado mi frase de recuperación".
  3. Verificar: elige la palabra correcta para algunas posiciones aleatorias.
  4. Establecer un PIN: elige y confirma un PIN de 6 dígitos. Cifra el almacén en este dispositivo para que la billetera sobreviva a las recargas de la página.

2.5 Al volver: desbloquear

Introduce tu PIN (o usa el botón de passkey si lo configuraste). Enlaces debajo: Restaurar desde un archivo de copia de seguridad y Restablecer la billetera en este dispositivo (borra los datos locales; con la frase puedes restaurarla).

2.6 Solo observación

Observar una dirección muestra el saldo y la actividad de cualquier dirección sin necesidad de clave. El panel principal muestra una insignia de solo observación y se ocultan todas las páginas de firma.


3. La interfaz principal

3.1 Barra superior

  • Logotipo + insignia de versión (p. ej., V0.36).
  • Campana de notificaciones: alertas generadas en el cliente (chat entrante, solicitudes de firma, alertas de la cadena); una insignia roja con el contador; las entradas enlazan directamente a la página correspondiente (p. ej., una notificación de factura abre la página de pago).
  • Tema: alterna entre oscuro y claro.
  • Bloquear: bloquea la billetera de inmediato (se necesita el PIN para volver a abrirla).
  • Ajustes: abre la página de Ajustes.
  • Indicador del relé de llamadas: muestra los datos de relé restantes cuando corresponde.
  • Indicador de estado de la red, punto + etiqueta: block N (conectado; muestra la altura confirmada, es decir, la punta de la cadena − 3), synchronizing… (fallo transitorio < 30 s), chain unreachable (fallo continuo). Al hacer clic se abre el explorador de bloques (explorer.<gateway-domain>).

3.2 Panel de saldo (columna izquierda)

  • Saldo con un selector de alcance: Esta billetera / todas las billeteras combinadas.
  • El icono de la moneda se actualiza al tocarlo; un chevrón abre el panel de tokens con los saldos de tus tokens.
  • Disponible: saldo menos las cantidades bloqueadas (stakes, depósitos en garantía, ofertas retenidas).
  • Chip de dirección: avatar de la cuenta (tócalo para cambiar de cuenta), nombre editable de la billetera, la dirección y un botón para copiar.
  • Insignias: solo observación, multisig.
  • Botones rápidos Enviar y Recibir.

3.3 Menú izquierdo

Grupos plegables (se recuerda si están abiertos o cerrados; se pueden ocultar secciones enteras en Ajustes → Menú):

GrupoElementos
INICIOPanel · Pendientes · Activas · Actividad
BILLETERAEnviar · Recibir · Depositar · Retirar · Programadas · Multifirma · Política
ACTIVOSTokens · Archivos · Exchange · Mercado
SOCIALContactos · En línea · Chat · Llamadas
NEGOCIOSFacturas · Formularios · Notaría
APPSLobby · Un jugador · 1 contra 1 · 3+ jugadores
AVANZADOClaves y semillas · Billetera de papel · Transmitir
SISTEMAAjustes · Nodo · Red · Pasarelas · Relés · Gobernanza

En pantallas estrechas, el menú se convierte en una barra de navegación superior / menú de hamburguesa.

Páginas legales e informativas: Términos y condiciones, Política de privacidad, Ayuda y manual, Participa en el proyecto.


4. INICIO

4.1 Panel (Resumen)

La página de inicio tras el desbloqueo:

  • Tus monedas: saldos combinados por moneda en todas tus billeteras.
  • Tus billeteras: una tarjeta por cuenta (nombre, dirección, saldo en vivo con los decimales atenuados, insignia de cadena, insignias de multisig/observación). Un recuadro de estado destaca los elementos que requieren atención.
  • Tus tokens: los tokens que posees, con un acceso directo Explorar a la página de Tokens.
  • Tus nodos: nodos registrados que pertenecen a tus billeteras (se actualiza automáticamente cada 10 min).

4.2 Pendientes

"Todo lo que espera por ti: aprobar, liquidar o responder." Una lista que reúne:

  • depósitos en garantía en los que tú eres el aprobador (aprobar / rechazar en línea),
  • transacciones multisig que esperan tu firma,
  • solicitudes de pago/depósito en garantía dirigidas a ti,
  • facturas pendientes de tu pago,
  • turnos de apps y elementos a punto de caducar.

Una insignia con un contador en el elemento del menú muestra cuántos hay. Actualizar vuelve a cargarlo todo. La página se actualiza automáticamente cada 60 s mientras está abierta.

4.3 Activas (transacciones activas)

Transacciones que están en curso ahora mismo, en cuatro pestañas:

  • Todas: lista combinada con contadores por pestaña.
  • Aprobar / rechazar depósito en garantía: como aprobador designado, introduce (o elige) el ID de una transacción de depósito en garantía y pulsa Aprobar y liberar (los fondos van al destinatario) o Rechazar y devolver (los fondos vuelven al remitente). Transmite ApprovalEscrow (tipo 4).
  • Detener un pago líquido: detiene un pago líquido que iniciaste; el resto no liberado vuelve a ti (LiquidPaymentStop, tipo 262).
  • Detener una liberación gradual: programaciones en curso que creaste; al revocarlas, se devuelve el resto no ejecutado (los tramos ya entregados se quedan con el destinatario) (CancelSchedule, tipo 30).

4.4 Actividad

Tu historial de transacciones.

  • Filtro de cuenta: una billetera o todas.
  • Filtro de moneda: todas las monedas o una concreta.
  • Selector de origen: Últimas TX (la ventana reciente del nodo conectado) o Todas las TX (el historial completo de un nodo de archivo).
  • Chips de categoría: Todas · Billetera · Trading · Apps · Herramientas · Coinbase · Comisiones, con totales por categoría.
  • Cada transacción que transmite la billetera también se guarda en un diario local (con los bytes de su cuerpo), de modo que aparece al instante, sobrevive a la poda del nodo y muestra el detalle completo según su tipo. Las filas se expanden para mostrar cantidades, contrapartes (con el nombre del contacto cuando se conoce), comisiones, detalles del depósito en garantía, mensajes (descifrados cuando van dirigidos a ti) y un botón para copiar el hash.

5. BILLETERA

5.1 Enviar

La página principal de transferencias. Campos de arriba abajo:

  • Destinatario: cualquier formato de dirección compatible (ZBC_…, 0x…, 1…, bc1…, Solana, SS58, addr1…, r…, T…, tz1…) o un contacto (botón de selección). Debajo del campo aparecen un indicador de validez y el nombre del contacto resuelto.
  • Cantidad + Máx. (rellena el saldo disponible menos la comisión).
  • Comisión de red (ZBC): se rellena de antemano desde la red; aumenta con el tamaño del mensaje; puedes subirla.
  • Mensaje (opcional): se almacena en la cadena. En transferencias de ZBC a ZBC puedes marcar Cifrar mensaje (de extremo a extremo; solo el destinatario puede leerlo). La indicación de la comisión se actualiza con el tamaño en bytes.
  • Nota privada (opcional): se guarda solo en este dispositivo, nunca en la cadena.
  • Longevidad (contextual): aparece al enviar a la dirección de un objeto ZBS_, para etiquetar una recarga del alquiler.
  • Casilla Pago líquido: la cantidad se libera gradualmente al destinatario a lo largo de un periodo elegido (minutos). El destinatario puede reclamarla proporcionalmente a medida que se libera; puedes detenerlo antes desde Activas (la parte no liberada se te devuelve). Envía LiquidPayment (tipo 6) en lugar de una transferencia simple.
  • Casilla Depósito en garantía: retiene los fondos hasta que un aprobador da su aprobación:
  • Dirección del aprobador (o contacto),
  • Retener hasta: chips predefinidos (1 día … 6 meses) o un selector de fecha y hora exactas; se muestra como un plazo en altura de bloque, con la nota de que el tiempo de los bloques es una estimación y el momento real variará,
  • Comisión del aprobador (ZBC),
  • Instrucción (texto libre, p. ej., "liberar a la entrega").
  • Un enlace: ¿Esperas que te paguen? → Solicitar un pago (depósito en garantía del lado del receptor, en la página Programadas).
  • Pagar la comisión de red con este token (contextual), para tokens con comisión habilitada: quema tokens de comisión y libera una porción equivalente del respaldo en ZBC (no disponible con depósito en garantía).
  • Solo crear la transacción: firma pero no transmite; genera el JSON firmado + QR para enviarlo más tarde o desde otro dispositivo (consulta Transmitir).
  • Vista previa: cantidad, comisión del aprobador, comisión de red, total.
  • Revisar y enviar: ventana de confirmación y luego transmisión. Restablecer formulario lo borra todo. Tras el envío se muestra el ID de la transacción (se conserva aunque cambies de página) con enlaces para copiarlo y verlo en el explorador.

Qué transmite: SendZBC (tipo 1), o TransferToken (11) cuando hay un token seleccionado en el panel principal, o LiquidPayment (6) cuando está marcada la casilla de pago líquido. El depósito en garantía va en el sobre de cualquiera de ellas.

5.2 Recibir

Tu dirección como un código QR grande, la dirección en texto y un botón Copiar dirección.

5.3 Depositar

Puente hacia ZooBC: trae BTC, ETH, USDC o USDT a la cadena como monedas envueltas (p. ej., BTC → ZBTC), acuñadas 1:1 tras la confirmación. Dos pestañas:

  • Iniciar: elige una moneda (las no compatibles muestran Próximamente). La billetera muestra:
  • la dirección de depósito en custodia (QR + copiar) de la cadena de origen,
  • las confirmaciones necesarias,
  • A quién se abona: el depósito se abona en la cuenta de ZooBC que refleja la dirección desde la que envías (misma clave); la dirección de custodia es compartida, así que la dirección de envío es la única prueba de propiedad. Envía desde una billetera cuya clave controles aquí.
  • Tras las confirmaciones, una supermayoría de 2/3 de los nodos de ZooBC lo certifica y luego se acuña la moneda envuelta (desde minutos hasta ~1 hora).
  • Seguimiento: tres subpestañas: En curso (se actualiza automáticamente cada 20 s; estados Detectado → Confirmando → Certificando → Acuñado, con tiempo estimado por cadena), Observar otra cuenta (cualquier dirección de la cadena de origen o ZBC_), Historial (completados y descartados).

5.4 Retirar

Puente de salida de ZooBC (las monedas envueltas regresan a sus cadenas de origen). Esta pantalla es una maqueta: el puente de salida aún no funciona; muestra la lista de monedas y el flujo previstos.

5.5 Programadas

Valor que se mueve según un temporizador. Cinco pestañas:

  • Liberación gradual: calendario con bloqueo previo. El total completo se bloquea al crearlo y se libera al destinatario en tramos. Campos: destinatario, moneda/token, importe por tramo, intervalo, número de tramos (1–520), cliff opcional, revocable/irrevocable, hora de finalización opcional. Difunde ScheduledTransfer (29) con funding_mode 0.
  • Recurrente: se cobra en cada ejecución. No se bloquea nada; cada tramo se toma de tu saldo cuando se ejecuta (y falla sin consecuencias si no hay fondos). Mismos campos; funding_mode 1.
  • A una altura: un disparador de un solo uso. Bloquea un importe ahora y paga al beneficiario cuando la cadena alcanza una altura de bloque. El campo de altura incluye un calendario de fecha y hora como ayuda (lo convierte en una altura estimada; el momento real varía con el tiempo de bloque). Difunde CreateTrigger (15); la cancelación reembolsa mediante CancelTrigger (16).
  • Solicitud: el depósito en garantía del lado del receptor. Solicitas un pago e indicas el pagador, el importe (ZBC o token), el aprobador, el plazo, la comisión y la instrucción; el pagador lo recibe en Pendientes y lo financia. Difunde EscrowRequest (260).
  • Lista: todos los calendarios que creaste o recibes, agrupados. Cada fila muestra el tipo (Liberación gradual/Recurrente/Único), el progreso (entregado sobre el total), la próxima ejecución, la insignia de rol y las acciones: Revocar (si es revocable) y Reasignar los tramos restantes a un nuevo destinatario (ReassignSchedule, 31, solo el destinatario actual).

5.6 Multifirma

Una cuenta que necesita varias firmas para cada gasto. Dos pestañas:

  • Crear cuenta multifirma: direcciones de los participantes (una por línea, en cualquier formato; Añadir desde contactos), Firmas mínimas, Nonce. Calcular dirección muestra la dirección ZBC_ determinista. Después:
  • Registrar en la cadena: registra el conjunto de participantes (MultisigRegistration, tipo 5),
  • Añadir a mi billetera: permite seleccionarla como cuenta (insignia multisig) para recibir y proponer gastos.
  • Firmar transacción multifirma: los elementos pendientes dirigidos a ti aparecen arriba. Pega una transacción de un firmante anterior (hex / base64 / JSON), pulsa Firmar con mi clave y pasa el resultado al siguiente firmante; firmar nunca difunde. Difundir (página Transmitir) abre Transmitir con la carga útil ya rellenada cuando se han reunido suficientes firmas.

5.7 Política, "Con qué opero"

Exclusión por categorías por cuenta y en la cadena, aplicada por todos los nodos. Desactivar una categoría es bidireccional: no puedes enviarla ni recibirla, y cualquier intento se rechaza (no se mueven fondos; quien lo intenta solo paga la comisión de red). Nueve interruptores:

BitCategoríaAbarca
0PagosEnvío de ZBC, transferencias líquidas / programadas / con disparador
1AppsCrear, unirse, jugar, rendirse, tiempo agotado, liquidar
2TokensEmitir, transferir, acuñar, quemar y financiar monedas coloreadas
3IntercambioOfertas de intercambio y mercados con libro de órdenes
4Datos y almacenamientoConjuntos de datos, almacenamiento prepagado, archivos (DFS), pruebas de almacenamiento
5Depósito en garantía y multifirmaAprobación / solicitud de depósito en garantía, multifirma
6Nodo e infraestructuraRegistro de nodos, registro de pasarelas / nodos de archivo / retransmisores
7PuenteAtestación / acuñación entre cadenas
8GobernanzaVotos de comisiones, gobernanza de versiones firmadas

Una etiqueta de resumen muestra "Operando con todo" o "Rechazando: …". Desactivar Pagos o Nodo e infraestructura pide una confirmación adicional (pueden impedirte el uso cotidiano). Guardar política difunde SetTransactPolicy (tipo 50, máscara u16 LE, comisión de ~0.05 ZBC); se aplica en cuanto el bloque se asienta.


6. ACTIVOS

6.1 Tokens

Registro de todas las monedas de la cadena (las de la génesis + las "monedas coloreadas" emitidas por usuarios). Dos modos:

  • Explorar: lista con búsqueda de todos los tokens registrados, con icono, símbolo, nombre, suministro, respaldo y tu saldo; puedes darle a un token un apodo local. Los tokens respaldados mantienen un valor constante en ZBC.
  • Emitir y gestionar (también accesible desde el centro Multifirma → Tokens):
  • Emitir un token: Símbolo (validado según el juego de caracteres y la lista de símbolos reservados), Nombre, Suministro total, Decimales (0–8), Respaldo (ZBC bloqueados) (0 para un token sin respaldo), opciones Canjeable (quemar → recuperar tu parte del respaldo) y Acuñable (el emisor puede añadir más), logo SVG opcional + descripción (viajan en el mensaje de la tx, ≤ 6,144 bytes). Difunde IssueToken (10).
  • Enviar un token: token, importe, destinatario (TransferToken, 11; admite depósito en garantía y pago de la comisión en el token).
  • Acuñar o quemar: Acuñar (solo el emisor, tokens acuñables; aumenta el suministro y bloquea más respaldo para que el valor unitario se mantenga constante, tipo 12), Quemar / canjear (destruye tus tokens; los tokens canjeables te devuelven tu parte del respaldo, tipo 13), Financiar (recarga el alquiler de supervivencia del token para que no se elimine, tipo 14).

6.2 Archivos

Almacenamiento descentralizado de archivos (DFS) y todas las herramientas del ciclo de vida de los datos. Seis pestañas:

  • Mis archivos: los archivos que almacenaste, con nombre, tamaño, hash raíz, estado de las réplicas y estado del alquiler; descárgalos o copia un enlace para compartir.
  • Subir archivo: el nodo divide el archivo en piezas direccionadas por contenido y las distribuye a su conjunto de réplicas; después la billetera lo ancla en la cadena con StoreFile (tipo 40): raíz del archivo (32 B), tamaño, tamaño de pieza, depósito de alquiler (mín. 0.01 ZBC) y la lista de piezas. Si tu lista de archivos está vacía, esta pestaña se abre de forma predeterminada.
  • Descargar por raíz: obtén cualquier archivo de la red de almacenamiento a partir de su raíz de 64 caracteres hex (o de su id ZTX_).
  • Conjuntos de datos: tus entradas en bruto en la cadena. Cada mensaje de chat, encuesta, factura, formulario y campo de perfil es una entrada de conjunto de datos en una cuenta:
  • Mis entradas: lista con Eliminar en un solo toque.
  • Añadir una entrada: cuenta (en blanco = la tuya), propiedad, valor (máx. 4,096 bytes; contador de bytes en vivo). Difunde SetupAccountDataset (tipo 3).
  • Eliminar una entrada manualmente: debe coincidir exactamente con destinatario + propiedad (incluido el sufijo #… que se muestra en Chat) + valor. Difunde RemoveAccountDataset (259).
  • Financiar almacenamiento: prepaga el alquiler de los conjuntos de datos de tu cuenta (FundStorage, tipo 9). La asignación a un conjunto de datos concreto llegará con la próxima cadena.
  • Objetos: gestión de objetos con alquiler de supervivencia:
  • lista de tus objetos con su saldo de alquiler y el vencimiento estimado,
  • Transferir la propiedad, en dos pasos: tú la ofreces (TransferDataset, 42) y el destinatario la acepta (AcceptDataset, 44),
  • Política de acceso: listas de cuentas permitidas/denegadas (SetDatasetPolicy, 43),
  • Borrar (DeleteDataset, 45),
  • Financiar cualquier objeto por el hash de la tx que lo creó: busca el depósito ZBS_ del objeto a partir de su ID de transacción y recárgalo con una transferencia normal (admite depósito en garantía).

6.3 Exchange

Un exchange con libro de órdenes en la cadena (CLOB). La insignia de la cabecera muestra con honestidad CONECTANDO… / EN VIVO / SIN CONEXIÓN; no se simula nada cuando los endpoints no responden.

  • Modos: Simple (primero el formulario, sin libro ni operaciones) y Pro (gráfico de profundidad, libro de órdenes, operaciones recientes, órdenes, diseño de terminal de trading).
  • Selector de par: filas De / A con todas las monedas registradas; botón para invertir el par; los mercados existentes aparecen como etiquetas (con tu número de órdenes abiertas).
  • Barra de estadísticas: último precio, variación/máximo/mínimo/volumen en 24 h, minigráfico.
  • Profundidad de mercado y Libro de órdenes, en vivo desde la cadena; los estados de libro vacío lo explican: "Aún no hay órdenes, sé el primero" / nodo sin conexión / falta la API de lectura.
  • Formulario de orden: Comprar/Vender, tipo de orden Mercado / Límite / Stop, importe (+Máx. según tu saldo en vivo), precio límite, total, comisión estimada (0.1%). Las órdenes de mercado en un libro vacío se bloquean con una explicación (no hay precio con el que casarlas). Colocar una orden difunde PlaceOrder (tipo 22); si el mercado del par aún no existe, se te ofrece Crear mercado (CreateMarket, 21, con un depósito de alquiler en ZBC).
  • Mis órdenes: se guardan por dispositivo; muestran Esperando bloque mientras están pendientes y luego abierta/ejecutada/cancelada; Cancelar difunde CancelOrder (23, reembolsa el resto no ejecutado); Limpiar ejecutadas ordena la lista.

6.4 Marketplace

Un tablón de ofertas de intercambio entre pares (OTC): "publica lo que das y lo que quieres; cualquiera puede aceptar." Totalmente atómico: el nodo intercambia ambas partes en un mismo bloque o no lo hace. Solo funciona EN VIVO, con un estado SIN CONEXIÓN honesto.

  • Explorar ofertas: filtra por activo Doy / Quiero; cada tarjeta de oferta muestra el creador (avatar + nombre de contacto), los importes doy → quiero, el precio implícito, el vencimiento y el estado (Abierta / Ejecutada / Cancelada / Vencida). Aceptar difunde AcceptSwapOffer (19): el tomador paga el lado solicitado y recibe el lado ofrecido, que estaba retenido.
  • Crear oferta: activo e importe que das (bloqueados de tu saldo mientras la oferta está abierta), activo e importe que quieres, vencimiento opcional (0 = válida hasta su cancelación), contraparte reservada opcional (solo esa dirección puede aceptar). Muestra una tarjeta de confirmación y luego difunde CreateSwapOffer (18).
  • Mis ofertas: tus ofertas abiertas con Cancelar (CancelSwapOffer, 20, reembolsa el importe retenido), más un historial local en el dispositivo de ofertas vendidas / aceptadas / canceladas / vencidas.

7. SOCIAL

7.1 Contactos

Tu libreta de direcciones. Añadir contacto: nombre, foto y nota opcionales, y cualquier número de direcciones en distintas cadenas (cada una con una insignia de cadena). Los nombres de contacto sustituyen a las direcciones en bruto en toda la billetera (Enviar, Actividad, Chat, Marketplace…), y la dirección en bruto siempre está a un toque para copiarla. Los contactos se guardan en la bóveda cifrada y viajan con las copias de seguridad.

7.2 En línea

Presencia en vivo de tus contactos. Cada fila muestra el estado (en línea / ausente / desconectado), con acciones rápidas para chatear o llamar. La presencia funciona por envío activo (push): las billeteras emiten una señal cada ~60 s a través del retransmisor y la lista se actualiza con un temporizador, así que dos billeteras se ven sin necesidad de navegar. Cómo apareces tú se controla en Llamadas → Apariencia.

7.3 Chat

Mensajería en la cadena. Dos capas:

  • Vista de conversación, al estilo de WhatsApp: lista de conversaciones con insignias de no leídos, avatares (foto del contacto o iniciales), búsqueda y cambio de nombre local; la vista del hilo muestra burbujas, marcas de tiempo y un candado en los mensajes cifrados de extremo a extremo (ZBC ↔ ZBC). Los mensajes entrantes de cualquiera de tus propias billeteras se reconocen como "tú".
  • Formulario de envío en bruto: Para (dirección o contacto), Tema (opcional; p. ej., el id de una aplicación para las jugadas, chat por defecto), Mensaje. Cada mensaje es una transacción SetupAccountDataset (tipo 3) en la cuenta del destinatario y cuesta una comisión de red normal.

Los mensajes se pueden borrar desde Archivos → Conjuntos de datos (la eliminación debe coincidir exactamente con la entrada).

7.4 Llamadas

Voz, video y pantalla compartida, de igual a igual. Las llamadas directas son gratuitas; cuando un cortafuegos bloquea la conexión directa, una pasarela retransmisora transporta el tráfico a cambio de crédito que tú recargas. Cinco pestañas:

  • Contactos en línea: quién está disponible ahora (filtro Solo en línea / Todos); toca para iniciar una llamada de voz o video.
  • Retransmisores: tu crédito de retransmisión, mostrado como MB de datos restantes más estimaciones derivadas (voz ≈ 0.36 MB/min, video ≈ 15 MB/min; el crédito son datos, no minutos). Lista de pasarelas retransmisoras con su estado; Añadir pasarela; las recargas son un pago en ZBC al operador del retransmisor y se confirman en la cadena (las recargas pendientes se siguen consultando hasta que se acreditan).
  • Llamadas recientes: registro con sentido, duración, ruta (directa / retransmitida), datos usados y pasarela.
  • Habilitar cuentas: elige cuáles de tus cuentas pueden hacer llamadas (inscripción firmada con el retransmisor).
  • Apariencia, cómo apareces: Todos / Todos los contactos / Contactos seleccionados / Nadie (con un selector por contacto para Seleccionados). Con "Nadie" puedes seguir iniciando llamadas.

Durante una llamada: silenciar, activar o desactivar la cámara, compartir pantalla y un medidor de datos en vivo. El indicador de retransmisión de la barra superior muestra los datos restantes durante las llamadas retransmitidas.


8. NEGOCIOS

8.1 Facturas

Envía por enlace una factura lista para pagar, en ZBC o en cualquier moneda/token registrado (ZUSD, ZBTC…). El pago es una transferencia normal en esa moneda; el estado se concilia solo a partir de la cadena.

  • Crear factura: importe + moneda, descripción, fecha de vencimiento opcional; la factura se escribe como conjunto de datos en tu cuenta y obtienes un enlace para compartir (ver 8.4).
  • Dos pestañas: Emitidas por mí y Recibidas, cada una agrupada en En espera de pago y Pagadas. Las filas pagadas enlazan con la transacción que las liquidó. Las facturas entrantes también aparecen en las notificaciones y en Pendientes, con un enlace directo a la página de pago.
  • Página de pago, abierta desde un enlace: muestra el emisor, el importe, la moneda y la nota; un toque genera la transferencia exacta.

8.2 Formularios

Publica un formulario, comparte un enlace y recopila respuestas firmadas y cifradas que solo tú puedes leer, con prueba de quién firmó qué. Define los campos, publica (un conjunto de datos en tu cuenta) y comparte el enlace; las respuestas se cifran con tu clave y se listan con la dirección del firmante y la marca de tiempo.

8.3 Notaría (prueba de existencia)

Sella en el tiempo cualquier archivo en la cadena: el documento nunca sale de tu dispositivo.

  • Notarizar: suelta un archivo y su hash se calcula localmente (SHA3-256). En las imágenes puedes adjuntar opcionalmente una pequeña miniatura (con la opción de cifrarla para ti mismo); los PDF reciben una nota honesta de "sin vista previa". El hash (+ la miniatura opcional) se escribe en tu cuenta como conjunto de datos, financiado con su propio alquiler de almacenamiento.
  • Mis anclajes: tus anclajes con altura/hora de bloque; los pendientes (enviados, aún no en la cadena) se siguen localmente hasta que se confirman.
  • Verificar: suelta un archivo para recalcular su hash y buscar su anclaje, por defecto en tu propia cuenta, o pega cualquier dirección ZBC_ o enlace para verificar el de otra persona.

Los enlaces a facturas, formularios, encuestas y páginas de pago se adaptan a cómo se sirve la billetera: desde un origen https:// real son URL completas; desde un archivo local son enlaces #fragmento, y el destinatario pega el fragmento después de …wallet.html en su propia billetera (nunca se incrusta una ruta file://).


9. APLICACIONES

El Arcade: aplicaciones por turnos en la cadena, basadas en stake. El lobby controla el acceso con honestidad: cuando la cadena no está disponible, una capa superpuesta bloquea el juego hasta que vuelve.

9.1 Vistas

  • Lobby: la bolsa de premios de la red (ZBC + tokens), tus partidas y desafíos abiertos (botones para unirse), estadísticas y la biblioteca de aplicaciones.
  • Un jugador: aplicaciones individuales contra la Casa (dados, cara o cruz, ruleta, tragamonedas, lotería, crash…).
  • 1 contra 1, aplicaciones por turnos: tres en raya, ajedrez, conecta 4, damas, reversi, gomoku, batalla naval, puntos y cajas… Desafía a un oponente concreto (dirección/contacto; la invitación llega a su billetera) o publica un desafío abierto al que cualquiera puede unirse.
  • 3+ jugadores: aplicaciones de grupo (ludo, pig, carreras, estilo Monopoly).

9.2 Iniciar una partida

El formulario de nueva partida: aplicación, stake (importe + moneda, ZBC o cualquier token de la lista del fondo; 0 = amistosa), plazas, oponente (1 contra 1) y, donde se admite, modo rápido (canal de estado). Al crearla se difunde CreateApp (24), que bloquea tu stake; quien se une bloquea el suyo con JoinApp (25).

9.3 Jugar

La vista del tablero muestra la barra de estado (a quién le toca, cuenta regresiva), el tablero, la columna de jugadores y el historial de jugadas. La legalidad de las jugadas se comprueba en el cliente; la VM de aplicaciones del nodo vuelve a validar cada jugada.

  • Modo en la cadena: cada jugada es una transacción AppMove (26); la cuenta regresiva nunca baja del tiempo de bloque medido. Si la billetera llega a desincronizarse, puede reconstruir toda la aplicación desde la cadena.
  • Modo rápido (canales): las jugadas se intercambian al instante como comprobantes firmados (retransmitidos cada ~10 s hasta que se confirma su recepción); al final, cualquiera de los jugadores envía SettleApp (39) y la cadena reproduce los comprobantes firmados con sus propias reglas para resolver la partida y pagar.
  • Rendirse (27) supone perder la partida: el stake pasa al oponente. Reclamar por tiempo (28) reclama la victoria si el oponente abandonó y se superó el plazo por jugada.
  • Salir es seguro: las rondas sin terminar se conservan localmente; vuelve a abrir la misma aplicación para reconectarte. El resultado queda sellado en la cadena.

10. AVANZADO

10.1 Claves y semillas

Gestiona todas las identidades de la bóveda:

  • Semillas: frases semilla con nombre. A partir de cada semilla puedes derivar cuentas en cualquier cadena compatible y con cualquier índice de cuenta sin volver a escribir la frase. Mostrar (protegido con PIN), renombrar, eliminar.
  • Importar una clave: una única clave privada de 64 caracteres hex, en cualquier formato.
  • Observar una dirección: añade una entrada de solo observación.
  • Lista de claves importadas y direcciones observadas, con la dirección, el saldo en vivo y la opción de eliminar en cada fila.

10.2 Billetera de papel

Almacenamiento en frío imprimible. Controles: Origen, Mi billetera (una cuenta que posees) o Nueva billetera vacía (una frase nueva generada en el momento y nunca almacenada); opciones de diseño; Imprimir. La impresión contiene el QR de la dirección + la frase o clave, con una advertencia clara sobre cómo manejarla.

10.3 Transmitir

Difunde una transacción firmada en otro lugar (dispositivo aislado de la red, cofirmante multifirma, "solo crear" desde Enviar). Pega el JSON firmado o usa Escanear QR con la cámara. No se necesita ninguna clave. Muestra el ID de la transacción resultante o el error del nodo tal cual.


11. SISTEMA

11.1 Ajustes

Agrupados en subpestañas:

  • Seguridad: cambia el PIN de 6 dígitos (las copias de seguridad descargadas después necesitan el nuevo PIN).
  • Llave de acceso: configura o elimina el desbloqueo con la llave de acceso de la plataforma (Face ID / Touch ID / Windows Hello).
  • Bloqueo automático: bloquea la billetera tras un periodo de inactividad.
  • Menú: muestra u oculta secciones completas de la barra lateral (preferencia del dispositivo). Solo INICIO se muestra siempre; Ajustes sigue accesible desde la barra superior.
  • Copia de seguridad y restauración: descarga la bóveda cifrada (necesita tu PIN para abrirse; cualquiera con el archivo + el PIN puede gastar) o restaura desde un archivo de copia de seguridad.
  • Nodo (también accesible antes de iniciar sesión): la pasarela actual con su indicador de estado, Listar pasarelas y comprobar cuáles están en línea (desde el registro en la cadena), una entrada manual de URL de nodo para nodos de respaldo adicionales y los ajustes avanzados del nodo.
  • Tema: oscuro / claro.
  • Modo aislado: cuando está ACTIVADO, la billetera nunca difunde; cada transacción se firma y se exporta (JSON + QR) para que un dispositivo conectado la transmita. Aparece un indicador en la barra superior.
  • Restablecer: borra los datos de este dispositivo (bóveda, cachés); tu frase restaura todo lo importante.

11.2 Nodo

Todo lo necesario para operar un nodo validador (solo cuentas ZooBC):

  • Mis nodos: todos los nodos de tus billeteras (todas las cuentas o una); ponles nombre localmente y copia sus claves.
  • Registrar un nodo: pega la clave secreta del nodo (64 caracteres hex) + el saldo bloqueado (mín. 1 ZBC, 1000 por defecto). La billetera obtiene un bloque reciente y construye una prueba de propiedad (POOWN): la clave del nodo firma owner ‖ block hash ‖ height y luego se difunde NodeRegistration (tipo 2). El stake se libera si eliminas el nodo.
  • Eliminar un nodo: anula el registro; el saldo bloqueado se libera (RemoveNode, 514).
  • Actualizar el stake del nodo: nuevo saldo bloqueado (solo puede mantenerse igual o aumentar); nueva POOWN (UpdateNode, 258).
  • Reclamar un nodo: reasigna la propiedad de un nodo a esta billetera, demostrando el control con su clave secreta (ClaimNode, 770).

11.3 Red

Tus registros de infraestructura en la cadena, con una vista general en vivo de los tres registros:

  • Registrar una pasarela: salta al formulario de Pasarelas (bloquea un stake de 10 ZBC, que se reembolsa al anular el registro; después la pasarela debe emitir latidos o se elimina automáticamente y se reembolsa el stake).
  • Registrar / actualizar un retransmisor, publica un retransmisor para su descubrimiento: clave del retransmisor (ZBR_/64 hex), a qué pasarela sirve, dominio, URL (RegisterRelay, 48; Anular registro, 49). Lo que lo autentica sigue siendo el certificado de vinculación del retransmisor fuera de la cadena (más abajo); este registro solo permite encontrarlo.
  • Registrar / actualizar un nodo de archivo, marca uno de tus nodos registrados como proveedor del historial completo + la API del explorador: clave del nodo (ZNK_/64 hex), dominio, URL (RegisterArchival, 46; Anular registro, 47). Le pone la insignia Archivo en el explorador.

Volver a registrarse con la misma clave actualiza el dominio/URL; solo surten efecto el nuevo anuncio o la anulación del registro hechos por el propietario.

11.4 Pasarelas

  • Lista de pasarelas: la pasarela con la que se comunica esta billetera, con una comprobación de estado de todas las pasarelas registradas (Listar pasarelas y comprobar cuáles están en línea); elige la que usarás para conectarte. Ajustes avanzados del nodo… abre la configuración de URL en bruto.
  • Registrar una pasarela: Generar clave de pasarela (o pega 64 caracteres hex; la vista previa de la dirección ZBG_ se actualiza en vivo), dominio, URL → RegisterGateway (36), que bloquea el stake de 10 ZBC. La pasarela en funcionamiento emite los latidos (37) automáticamente.
  • Anular el registro de una pasarela, por clave; reembolsa el stake (UnregisterGateway, 38).

11.5 Retransmisores

Registrar un retransmisor (flujo del operador, sin transacción ni comisión): elige la pasarela cuya clave ZBG_ firma, define la validez del certificado (días) y pulsa Generar clave y certificado del retransmisor. La billetera produce la clave ZBR_ del retransmisor y un certificado firmado con la clave de tu pasarela; pega el resultado en el /etc/zoobc/relay.env del servidor retransmisor y reinícialo: su registro muestra [fed] ON y se enlaza con las pasarelas pares. Repite el proceso cuando quieras para rotar la clave.

11.6 Gobernanza

  • Encuestas: una encuesta es un registro en la cadena (un conjunto de datos) con pregunta, opciones, descripción, periodo de votación y reglas de elegibilidad (saldo mínimo de ZBC, antigüedad mínima de la cuenta, número mínimo de transacciones). Nueva encuesta abre el editor; Abrir un enlace de encuesta… permite pegar un enlace #gov=poll/... compartido. Cada voto es una transacción firmada desde la cuenta del votante; los recuentos se leen directamente de la cadena. Las tarjetas de encuesta muestran el estado (próxima / abierta / cerrada), el número de votos, copiar enlace y Abrir.
  • Votación de comisiones: vota para subir o bajar la escala de comisiones de la red (1.0× = normal). La mediana de los votos de todos los nodos la mueve, limitada a 0.5×–2.0× por periodo. Dos pasos:
  1. Compromiso: tu voto se difunde como hash (FeeVoteCommit, tipo 7); la billetera recuerda el voto subyacente en este dispositivo.
  2. Revelación: en el periodo de revelación, difunde el voto + tu firma en bruto (FeeVoteReveal, 263).

12. Referencia de transacciones

Todos los enteros en little-endian; importes en unidades atómicas (×10⁸ para ZBC, ×10^decimales para tokens). Todas las transacciones comparten el mismo sobre: type(u32) · version(1) · timestamp(u64) · sender(typed acct) · recipient(typed acct; 02000000 = none) · fee(u64) · body_len(u32) · body · escrow-or-marker · message_len(u32) · message. El bloque de depósito en garantía (en cualquier tipo que lo admita) es approver(typed) · commission(u64) · timeout(u64) · instruction(lp4) · multi_party(1); sin depósito en garantía se escribe un marcador de 4 bytes (=2). Las cuentas ZBC firman con ed25519 sobre SHA3-256("ZBC-TX" ‖ genesis_hash(32) ‖ unsigned_bytes); los demás formatos firman con su esquema nativo sobre el mismo digest. Vincular el hash de génesis al digest es lo que impide que una firma se reutilice en otra red ZooBC, y es obligatorio a partir de v0.4.0.

Pagos y depósito en garantía

TipoNombreCuerpoNotas
1SendZBCamount(8)Destinatario en el sobre. Admite depósito en garantía + mensaje en la cadena (cifrado opcional ZBC→ZBC).
6LiquidPaymentamount(8) · complete_minutes(8) · [token_id(8)] · [fee_in_token(1)]Se libera de forma lineal al destinatario durante el periodo; el destinatario lo reclama a medida que se libera. Los flujos de tokens añaden token_id al final.
262LiquidPaymentStoptx_id(8)El remitente detiene el flujo; el resto no liberado se devuelve.
4ApprovalEscrowapproval(u32: 0=aprobar, 1=rechazar) · escrowed_transaction_hash(32)Lo firma el aprobador designado; aprobar libera los fondos al destinatario y rechazar los devuelve al remitente. Si vence el plazo, la cadena lo resuelve automáticamente.
260EscrowRequesttoken_id(8) · amount(8) · approver(tipado) · timeout(8) · commission(8) · instruction(lp4)Destinatario del sobre = el pagador. Depósito en garantía del lado del receptor: el pagador lo financia desde Pendientes.
15CreateTriggerfire_height(8) · amount(8)Destinatario del sobre = beneficiario. Bloquea ahora y paga al llegar a la altura de bloque.
16CancelTriggertrigger_id(8)Reembolsa el importe bloqueado al propietario.

Programador

TipoNombreCuerpoNotas
29ScheduledTransfertoken_id(8) · per_fire(8) · interval_s(8) · fires(u32) · cliff_s(8) · funding_mode(1) · cancel_policy(1) · end_time(8) · reserved(1)funding_mode 0 = Liberación gradual (total bloqueado de antemano), 1 = Recurrente (se cobra en cada ejecución). cancel_policy 0 = revocable. De 1 a 520 tramos.
30CancelScheduleschedule_id(8)Revocación del remitente (si es revocable) o rechazo del destinatario; el resto no ejecutado se devuelve.
31ReassignScheduleschedule_id(8) · new_recipient(tipado)Solo el destinatario actual.

Mensajes y datos

TipoNombreCuerpoNotas
3SetupAccountDatasetprop_len(u32) · prop · val_len(u32) · valMensajes de chat, facturas, formularios, encuestas, anclajes notariales, campos de perfil. Máx. 4,096 bytes por entrada; se aplica alquiler de almacenamiento.
259RemoveAccountDatasetmisma estructuraDebe coincidir exactamente con cuenta + propiedad + valor.
9FundStorageamount(8)Prepaga el alquiler de los conjuntos de datos de tu cuenta.
40StoreFilefile_root(32) · total_size(8) · piece_size(u32) · deposit(8) · piece_count(u32) · piece_ids(32×n)Ancla una subida a DFS; depósito ≥ 0.01 ZBC; la raíz debe coincidir con las piezas.
42TransferDatasetobject_id(32) · new_owner(tipado 36)Transferencia de propiedad en dos pasos (oferta).
43SetDatasetPolicyobject_id(32) · mode(1) · n_add(1)+altas · n_remove(1)+bajasListas de control de acceso (máx. 255 por cambio).
44AcceptDatasetobject_id(32)El destinatario acepta una oferta de transferencia.
45DeleteDatasetobject_id(32)El propietario borra el objeto.

object_id = el hash de la transacción que lo creó (ZTX_/64 hex). Las recargas de longevidad son simples SendZBC a la dirección de depósito ZBS_ del objeto (tipo de cuenta 10) y admiten depósito en garantía.

Tokens (monedas coloreadas)

TipoNombreCuerpoNotas
10IssueTokendecimals(1) · flags(1) · supply(8) · backing(8) · sym(lp2) · name(lp2)Opciones: canjeable, acuñable. El icono SVG + la descripción viajan en el mensaje (≤ 6,144 B).
11TransferTokentoken_id(8) · amount(8) · fee_in_token(1)Admite depósito en garantía; con depósito en garantía, la comisión debe pagarse en ZBC (fee_in_token forzado a 0).
12MintTokentoken_id(8) · add_supply(8) · add_backing(8)Solo el emisor; mantiene constante el valor unitario.
13BurnTokentoken_id(8) · amount(8)Los tokens canjeables te devuelven tu parte del respaldo.
14FinanceTokentoken_id(8) · amount(8)Recarga el alquiler de supervivencia del token.

Trading

TipoNombreCuerpoNotas
18CreateSwapOffergive_token(8) · give_amt(8) · want_token(8) · want_amt(8) · expiry(8; 0=GTC) · [counterparty(36)]Bloquea el lado ofrecido. Indicar una contraparte la convierte en una oferta reservada.
19AcceptSwapOfferoffer_id(8)Intercambio atómico: lado solicitado tomador→creador, lado ofrecido retenido→tomador.
20CancelSwapOfferoffer_id(8)Solo el creador; reembolsa lo retenido.
21CreateMarketbase_token(8) · quote_token(8) · deposit(8)Mercado con libro de órdenes; el depósito es un alquiler en ZBC.
22PlaceOrdermarket_id(8) · side(1) · price(8, ×1e8) · amount(8, base) · flags(1: bit0 orden de mercado, bit1 post-only) · expiry(8)side 0 = comprar base, 1 = vender.
23CancelOrderorder_id(8)Solo el propietario; reembolsa el resto no ejecutado.

Apps

TipoNombreCuerpoNotas
24CreateAppapp_type(1) · stake_token(8) · stake_amount(8) · seats(1) · params(lp2) · [opponent(36)] · [channel(1)]Stake en unidades base. Plazas: 1 individual, 2 duelo, 3+ grupo. El oponente va como destinatario del sobre para que la invitación aparezca en su flujo. channel=1 = modo rápido (solo 2 plazas).
25JoinAppapp_id(8)Bloquea el stake de quien se une.
26AppMoveapp_id(8) · move(lp2)Una jugada = una tx; la VM de aplicaciones del nodo la vuelve a validar.
27ResignAppapp_id(8)El stake pasa al oponente.
28ClaimTimeoutapp_id(8)Victoria si el oponente abandonó y se superó el plazo por jugada.
39SettleAppapp_id(8) · final_seq(u32) · move_count(u32) · [seat(1)·move(lp2)·sig(64)]*Liquidación del modo rápido: la cadena reproduce los comprobantes firmados y resuelve.

Nodo e infraestructura

TipoNombreCuerpoNotas
2NodeRegistrationnode_pub(32) · owner(36) · locked(8) · POOWN(136)Mín. 1 ZBC bloqueado. POOWN = owner‖blockhash‖height(72) + sig(64) ed25519 del nodo sobre ello, a partir de un bloque reciente.
514RemoveNodenode_pub(32)Libera el saldo bloqueado.
258UpdateNodenode_pub(32) · locked(8) · POOWN(136)El stake solo puede mantenerse o aumentar.
770ClaimNodenode_pub(32) · POOWN(136)Reasigna la propiedad al firmante.
36RegisterGatewaygw_key(32) · domain(lp4) · url(lp4)Bloquea un stake de 10 ZBC fijado por el protocolo.
37GatewayHeartbeatgw_key(32)Latido de actividad; evita que el registro se elimine.
38UnregisterGatewaygw_key(32)Reembolsa el stake de 10 ZBC.
46 / 47Register / UnregisterArchivalnode_pub(32) [· domain(lp4) · url(lp4)]Sin stake, solo comisión. Firmado por el propietario.
48 / 49Register / UnregisterRelayrelay_key(32) [· gw_key(32) · domain(lp4) · url(lp4)]Registro de descubrimiento; la autenticación sigue dependiendo del certificado fuera de la cadena.

Gobernanza y política

TipoNombreCuerpoNotas
7FeeVoteCommitvote_hash(32)SHA3-256 de FeeVoteInfo (blockhash‖height‖feeVote); el voto se guarda localmente para revelarlo. 1.0× ↔ feeVote 10000.
263FeeVoteRevealFeeVoteInfo(44) · sig_len(u32=64) · voter_sig(64)ed25519 en bruto sobre la información. Se aplica la mediana, limitada a 0.5×–2.0× por periodo.
5MultisigRegistrationver(u32) · min_sigs(u32) · nonce(u64) · n(u32) · participantes ordenados · 0 · 0Dirección = codificación ZBC del SHA3-256 sobre el conjunto canónico de participantes.
50SetTransactPolicymask(u16)Bit i activado = la cuenta se excluye de la categoría i (bits 0–8, ver §5.7). Solo autofirmada; todos los nodos la aplican en ambos sentidos.

13. Solución de problemas

  • "sincronizando…" en la barra superior: un corte de red pasajero; la billetera espera 30 s de fallo continuo antes de declarar cadena inaccesible y, mientras tanto, prueba automáticamente nodos de respaldo y pasarelas conocidas.
  • "Nueva cadena detectada": la punta de la cadena del nodo está muy por debajo del bloque más alto que ha visto esta billetera, porque la red se reinició desde la génesis. La billetera ofrece limpiar con un clic las cachés de la cadena anterior (actividad, tokens, aplicaciones, notificaciones); las claves, semillas y contactos se conservan.
  • Olvidaste el PIN: tras 5 intentos fallidos, la bóveda se borra. Restaura con tu frase de recuperación (o con un archivo de copia de seguridad + su PIN).
  • Una transacción se rechaza y solo se cobra la comisión: la contraparte (o tú) tiene una política de operaciones que rechaza esa categoría (§5.7).
  • Exchange/Marketplace/Aplicaciones muestran SIN CONEXIÓN: el nodo no tiene esos endpoints o no está disponible; las pestañas siguen sondeando y pasan a EN VIVO por sí solas.
  • La aplicación se congeló o el navegador se cerró a mitad de partida: vuelve a abrir la misma aplicación desde el Lobby para reconectarte; las aplicaciones en la cadena se reconstruyen desde la cadena y las de modo rápido retransmiten los comprobantes automáticamente.
  • Enviaste un mensaje o transacción que no aparece en Actividad desde otro dispositivo: la fuente Últimas TX de Actividad muestra la ventana reciente del nodo conectado; cambia la fuente a Todas las TX (archivo) para ver el historial completo.
  • El enlace para compartir empieza por #: estás ejecutando la billetera desde un archivo local; el destinatario pega el fragmento después de …wallet.html en su propia copia o en cualquier billetera alojada en una pasarela.

14. Glosario

  • Unidad atómica: la unidad más pequeña en la cadena; 10⁻⁸ ZBC.
  • Token respaldado: token con ZBC bloqueados que lo respaldan; quemarlo canjea la parte proporcional del respaldo.
  • Conjunto de datos: un registro propiedad→valor en una cuenta; el almacén de datos general de la cadena.
  • Depósito en garantía: fondos retenidos hasta que un aprobador designado los aprueba o rechaza, o hasta que el plazo lo resuelve automáticamente.
  • Modo rápido / canal: comprobantes de jugada firmados fuera de la cadena que se liquidan con una única transacción final.
  • Pasarela: el servidor web a través del cual se conecta la billetera (clave ZBG_).
  • Pago líquido: una transferencia que se libera de forma continua a lo largo del tiempo.
  • POOWN, prueba de propiedad del nodo: la clave del nodo firma propietario + hash de un bloque reciente + altura.
  • Retransmisor: servidor de llamadas y presencia operado por una pasarela (clave ZBR_).
  • Disponible: el saldo menos todo lo bloqueado (stakes, depósitos en garantía, ofertas, calendarios).
  • Bóveda: el almacén local cifrado con PIN que guarda semillas, claves y contactos.
  • Solo observación: una dirección añadida sin su clave; se puede ver, pero nunca firmar.
  • Dirección ZBS_: la cuenta de depósito de alquiler de un objeto, que se puede financiar como cualquier dirección.
  • ZTX_: forma de visualización de un hash de transacción.