GVR — экспериментальная гибридная криптовалюта на Rust с трёхфазной экономикой:
- Phase1 — классический PoW (фиксированная награда).
- Phase2 — гибрид PoW + EnergyProof (AI‑подтверждённая энергия).
- Phase3 — "зелёный хвост": основная награда за энергию, маленький PoW‑хвост.
Проект включает:
-
полноценную ноду (
gvr_hybrid_node), -
RPC API (на базе
axum), -
P2P‑сеть,
-
CLI‑клиент (
gvr-client), -
CLI‑кошелёк (
gvr-wallet), -
P2P‑клиент (
gvr-p2p-client), -
утилиты для AI‑ключей и EnergyProof (
gvr-ai-keygen,gvr-energy-client,gvr-ai-rotate), -
сборку для Windows в виде папки
distс.exeи.bat. -
Полное описание экономики: ECONOMY.md.
-
Техническая спецификация протокола: PROTO.md.
Авторская seed‑нода тестнета (может быть нестабильной):
95.191.235.94:4000
Инструкция по подключению: TESTNET_CONNECT.md.
- Гибридный консенсус: PoW + EnergyProof.
- Трёхфазная эмиссия с жёстким лимитом
21 000 000 GVR. - Поддержка подписанных транзакций (
SignedTransfer) с комиссиями и nonce. - Встроенный P2P‑протокол с синхронизацией по locators и баном пиров.
- HTTP RPC API для интеграции с приложениями и фронтендами.
- Отдельный CLI‑кошелёк и клиенты для работы с транзакциями и EnergyProof.
Требуется установленный Rust (stable) и Cargo.
git clone https://github.com/alekseymonin1992-sys/gvr-hybrid-node.git
cd gvr-hybrid-node
cargo build --releaseСоберутся бинарники (в target/release):
gvr-node— основная нода,gvr-client— простой RPC‑клиент,gvr-wallet— CLI‑кошелёк,gvr-p2p-client— P2P‑клиент,gvr-ai-keygen— генерация AI‑ключа,gvr-energy-client— отправка EnergyProof через RPC,gvr-ai-rotate— ротация AI‑публичного ключа.
AI‑ключ используется для подписи и проверки EnergyProof.
target/release/gvr-ai-keygenСоздаст:
ai_key.bin— приватный AI‑ключ (ECDSA k256),ai_pubkey.bin— публичный AI‑ключ (SEC1, uncompressed).
Пример запуска одной ноды с майнингом и RPC:
target/release/gvr-node \
--p2p_addr 0.0.0.0:4000 \
--rpc_addr 127.0.0.1:8080 \
--coinbase_addr alice \
--ai-key-file ai_key.bin--coinbase_addr— адрес, на который идут награды за блоки и комиссии.- При корректном завершении нода сохраняет снимок состояния в
state.json.
target/release/gvr-wallet new --name aliceВыведет:
- путь к файлу приватного ключа (
wallets/alice.key), - адрес в сети (строка
alice), - публичный ключ в формате SEC1 (hex).
Проверить кошелёк:
target/release/gvr-wallet show --name aliceПеревести 10 GVR с кошелька alice на адрес bob:
target/release/gvr-wallet send \
--rpc 127.0.0.1:8080 \
--from_wallet alice \
--to bob \
--amount 10 \
--fee 1Кошелёк:
- сам запросит
nonceчерез/nonce?addr=..., - подпишет транзакцию ECDSA‑ключом,
- отправит DTO в
/txна ноду.
Отправить EnergyProof (выработка энергии) на ноду:
target/release/gvr-energy-client \
--rpc 127.0.0.1:8080 \
--producer_id my_station_1 \
--sequence 1 \
--kwh 123.45 \
--ai_score 0.92Клиент:
- собирает структуру
EnergyProof, - подписывает её AI‑ключом (
ai_key.bin), - проверяет подпись локально,
- отправляет DTO на
/energy_proof.
Нода:
- валидирует поля и подпись,
- при успехе сохраняет proof и использует его при майнинге следующих блоков (Phase2/Phase3).
target/release/gvr-node \
--p2p_addr 0.0.0.0:4000 \
--rpc_addr 127.0.0.1:8080 \
--coinbase_addr alice \
--ai-key-file ai_key.bintarget/release/gvr-node \
--p2p_addr 127.0.0.1:4001 \
--rpc_addr 127.0.0.1:8081 \
--coinbase_addr bob \
--ai-pubkey-file ai_pubkey.bin \
--peers 95.191.235.94:4000Синхронизация Ноды №2 с Нодой №1 через RPC:
curl "http://127.0.0.1:8081/sync?peer=95.191.235.94:4000"Статус ноды:
curl http://127.0.0.1:8080/statusБаланс адреса:
curl "http://127.0.0.1:8080/balance?addr=alice"Nonce адреса:
curl "http://127.0.0.1:8080/nonce?addr=alice"Список пиров:
curl http://127.0.0.1:8080/peersПроект в статусе Draft / Experimental:
- протокол, параметры эмиссии и экономическая модель могут меняться;
- возможны несовместимые изменения формата блоков и RPC API.
Для детальной информации:
- протокол: PROTO.md,
- экономика: ECONOMY.md.