Ecosistema

Cualquiera puede construir sobre Velum: exchanges, carteras, carteras físicas, custodios, staking y exploradores. Mantenemos el protocolo y una implementación de referencia abiertos. Solo la app de mensajería es cerrada.

Qué es abierto {#abierto}

Pieza Licencia Para qué
@velum/core Apache-2.0 Protocolo: claves, transacciones, estado, consenso, mensajería
velum-node Apache-2.0 Nodo completo, un binario por sistema
@velum/sdk Apache-2.0 Integración: direcciones, transacciones, firma, RPC, depósitos, staking
PROTOCOL.md y spec/vectors Apache-2.0 Implementar Velum en otro lenguaje, byte a byte
App de mensajería Cerrada Para hablar

No hace falta pedirnos permiso. Solo pedimos que no uséis la marca Velum de forma que parezca un producto nuestro.

Exchanges {#exchanges}

  • Nodo propio. Instala velum-node y deja que sincronice; no dependas de la puerta pública. RPC local en ws://127.0.0.1:7420/ws?role=client, sin exponerla a internet. Comprueba que chain.block {height: 0} devuelve header.chain == "{{chain}}".
  • Unidades. VEL tiene 6 decimales; todo importe en la cadena es un entero en µVEL.
  • Confirmaciones. Aún no hay finalidad instantánea: 30 bloques para importes normales y una época para importes grandes. Guarda el hash de cada bloque acreditado y, si cambia, vuelve a leer.
  • Depósitos. Una dirección con memo por cliente, o una dirección por cliente en m/44'/7420'/0'/0'/i'. DepositWatcher del SDK recorre bloques con N confirmaciones; la clave única de un depósito es su txId.
  • Retiradas. buildTransfer del SDK. Por debajo del umbral, comisión 0 con sello de trabajo; por encima, 1 punto básico. Firma sin conexión con signTxBody en el equipo frío.
  • Caliente y fría. La caliente guarda lo que se retira en un día; la fría, sin conexión, la rellena.

Detalle técnico en Carteras y exchanges.

Carteras {#carteras}

  • Frase BIP-39 de 24 palabras. Cartera = SLIP-10 ed25519 en m/44'/7420'/cuenta'/0'/índice'. La app oficial usa 0'/0'/0'.
  • Las claves de identidad y de dispositivo de la mensajería salen de la misma frase con HKDF y no son de cartera.
  • Muestra siempre el importe, la comisión exacta (normalmente 0) y lo que recibe el destinatario.

Carteras físicas: Trezor y Ledger {#hardware}

Dato Valor
Curva ed25519
Derivación SLIP-10, todos los niveles endurecidos
Ruta m/44'/7420'/cuenta'/0'/índice'
Moneda SLIP-44 7420 (pendiente de registrar)
Qué se firma UTF-8 del JSON canónico de la transacción sin sig, con ed25519 puro (RFC 8032)
Tamaño máximo 4 KB (una transacción normal mide 250–600 B)
  • El sello de trabajo pow forma parte de lo firmado: lo calcula el equipo antes de enviar la transacción al dispositivo.
  • El dispositivo debe enseñar el destino completo, el importe con su token, la comisión y el memo; y avisar si chain no es {{chain}}.
  • Hay una propuesta de app para Ledger (APDU GET_PUBLIC_KEY y SIGN_TX) en la especificación del ecosistema.

@velum/sdk {#sdk-abierto}

import { walletFromPhrase, buildTransfer, VelumRpc, DepositWatcher } from "@velum/sdk";
  • walletFromPhrase(frase, cuenta, índice): cartera SLIP-10.
  • buildTransfer, buildDelegate, buildUndelegate, signTxBody: construir y firmar, también sin conexión.
  • VelumRpc: cliente de la RPC del nodo.
  • DepositWatcher: depósitos con N confirmaciones.

Ejemplos: deposit-watcher.ts, withdrawal-signer.ts y staking.ts.

Staking delegado {#staking}

  • stake.delegate { node, amount }: tus VEL quedan bloqueados en la cadena y suben el peso del nodo en el sorteo de puentes, con el mismo tope que la fianza propia.
  • stake.undelegate { node, amount }: vuelven a tu cuenta tras 14 días.
  • node.commission { bp }: cada nodo fija su comisión entre 0 y 20 %. Como mucho un cambio cada 7 días y de ±5 puntos.
  • Cada época, lo que descubre el nodo se divide: su comisión y el resto, a prorrata, entre su fianza y sus delegados. Nunca se divide más de lo que hay.
  • No hay rendimiento garantizado. Si el nodo no trabaja, no descubre nada.

Custodios

Guardar claves de terceros es un servicio regulado (proveedor de servicios de criptoactivos en la UE). Separa una cartera por cliente o lleva un libro interno conciliado cada día con la cadena.