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-nodey deja que sincronice; no dependas de la puerta pública. RPC local enws://127.0.0.1:7420/ws?role=client, sin exponerla a internet. Comprueba quechain.block {height: 0}devuelveheader.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
memopor cliente, o una dirección por cliente enm/44'/7420'/0'/0'/i'.DepositWatcherdel SDK recorre bloques con N confirmaciones; la clave única de un depósito es sutxId. - Retiradas.
buildTransferdel SDK. Por debajo del umbral, comisión 0 con sello de trabajo; por encima, 1 punto básico. Firma sin conexión consignTxBodyen 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 usa0'/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
powforma 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 sichainno es{{chain}}. - Hay una propuesta de app para Ledger (APDU
GET_PUBLIC_KEYySIGN_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.