Экосистема
Строить на Velum может каждый: биржи, кошельки, аппаратные кошельки, кастодианы, стейкинг и обозреватели. Протокол и эталонная реализация открыты. Закрыто только приложение для общения.
Что открыто {#abierto}
| Компонент | Лицензия | Назначение |
|---|---|---|
@velum/core |
Apache-2.0 | Протокол: ключи, транзакции, состояние, консенсус, обмен сообщениями |
velum-node |
Apache-2.0 | Полный узел, один бинарный файл на систему |
@velum/sdk |
Apache-2.0 | Интеграция: адреса, транзакции, подпись, RPC, депозиты, стейкинг |
PROTOCOL.md и spec/vectors |
Apache-2.0 | Реализация Velum на другом языке, байт в байт |
| Приложение для общения | Закрытое | Для переписки |
Спрашивать у нас разрешения не нужно. Просим лишь не использовать марку Velum так, чтобы это выглядело как наш продукт.
Биржи {#exchanges}
- Собственный узел. Установи
velum-nodeи дождись синхронизации; не завись от публичного шлюза. Локальный RPC —ws://127.0.0.1:7420/ws?role=client, не открывай его в интернет. Проверь, чтоchain.block {height: 0}возвращаетheader.chain == "{{chain}}". - Единицы. У VEL 6 знаков после запятой; любая сумма в блокчейне — целое число µVEL.
- Подтверждения. Мгновенной финальности пока нет: 30 блоков для обычных сумм и одна эпоха для крупных. Сохраняй хеш каждого зачисленного блока и, если он изменился, перечитывай.
- Депозиты. Один адрес с
memoдля каждого клиента или отдельный адрес на клиента по путиm/44'/7420'/0'/0'/i'.DepositWatcherиз SDK проходит блоки с N подтверждениями; уникальный ключ депозита — егоtxId. - Выводы.
buildTransferиз SDK. Ниже порога комиссия 0 с печатью работы; выше — 1 базисный пункт. Подписывай офлайн черезsignTxBodyна холодном устройстве. - Горячий и холодный кошелёк. Горячий хранит то, что выводится за день; холодный, офлайн, его пополняет.
Технические подробности — в разделе Кошельки и биржи.
Кошельки {#carteras}
- Фраза BIP-39 из 24 слов. Кошелёк = SLIP-10 ed25519 по пути
m/44'/7420'/аккаунт'/0'/индекс'. Официальное приложение использует0'/0'/0'. - Ключи личности и устройств для переписки выводятся из той же фразы через HKDF и не являются ключами кошелька.
- Всегда показывай сумму, точную комиссию (обычно 0) и сколько получит получатель.
Аппаратные кошельки: Trezor и Ledger {#hardware}
| Параметр | Значение |
|---|---|
| Кривая | ed25519 |
| Вывод ключей | SLIP-10, все уровни усиленные (hardened) |
| Путь | m/44'/7420'/аккаунт'/0'/индекс' |
| Монета SLIP-44 | 7420 (ожидает регистрации) |
| Что подписывается | UTF-8 канонического JSON транзакции без sig, чистым ed25519 (RFC 8032) |
| Максимальный размер | 4 КБ (обычная транзакция занимает 250–600 Б) |
- Печать работы
powвходит в подписываемые данные: компьютер вычисляет её до отправки транзакции на устройство. - Устройство должно показывать полный адрес назначения, сумму с токеном, комиссию и
memo, а также предупреждать, еслиchainне равно{{chain}}. - Проект приложения для Ledger (APDU
GET_PUBLIC_KEYиSIGN_TX) описан в спецификации экосистемы.
@velum/sdk {#sdk-abierto}
import { walletFromPhrase, buildTransfer, VelumRpc, DepositWatcher } from "@velum/sdk";
walletFromPhrase(фраза, аккаунт, индекс): кошелёк SLIP-10.buildTransfer,buildDelegate,buildUndelegate,signTxBody: сборка и подпись, в том числе офлайн.VelumRpc: клиент RPC узла.DepositWatcher: депозиты с N подтверждениями.
Примеры: deposit-watcher.ts, withdrawal-signer.ts и staking.ts.
Делегированный стейкинг {#staking}
stake.delegate { node, amount }: твои VEL блокируются в блокчейне и повышают вес узла в жеребьёвке мостов, с тем же лимитом, что и собственный залог.stake.undelegate { node, amount }: возвращаются на твой счёт через 14 дней.node.commission { bp }: каждый узел устанавливает свою комиссию от 0 до 20 %. Не чаще раза в 7 дней и не больше чем на ±5 пунктов.- Каждую эпоху найденное узлом делится: его комиссия, а остальное пропорционально между его залогом и делегаторами. Больше, чем есть, не делится никогда.
- Гарантированной доходности нет. Если узел не работает, он ничего не находит.
Кастодианы
Хранение ключей третьих лиц — регулируемая услуга (поставщик услуг в сфере криптоактивов в ЕС). Заводи отдельный кошелёк для каждого клиента или веди внутренний реестр с ежедневной сверкой с блокчейном.