Документация EjNET Blockchain v3.5.2
Обзор системы и Нововведения v3.5.2
EjNET Core API v3.5.2 — гибридный узел мультивалютного блокчейна с децентрализованной P2P Mesh-сетью и поддержкой текстовых On-chain сообщений.
- P2P Mesh Gossip Protocol: Транзакции фоново транслируются соседним активным нодам сети.
- On-Chain Messages: Добавлено опциональное поле
messageв транзакции. - Гибридная валидация Ed25519: Поддержка устранения конфликтов типов данных (int/float) между PHP и Python.
- Синхронизация блоков: Новые ноды скачивают цепочку через Sync API.
- Распределение майнинга: 50% награды OP-автору, 50% между работягами (с автоматической защитой от повторного майнинга).
- Комиссия сети:
0.25%на кошелекFINANCE_EJNET_C1ADC280FDABE7414DC96625 - Алгоритм подписи: Ed25519
- Валюты по умолчанию:
ALR,EJR
Формат подписи Ed25519 & On-chain Сообщения
В структуру подписи включено поле message для защиты от подделки текстов. Если сообщение отсутствует, структура формируется без шестого блока.
Форматирование строки перед подписью:
SENDER_ADDRESS:RECIPIENT_ADDRESS:AMOUNT:CURRENCY:TIMESTAMP:MESSAGE_PAYLOAD
Пример строки ДЛЯ ПОДПИСИ (с текстом):
FINANCE_EJNET_A1B2...:FINANCE_EJNET_C3D4...:10.0:ALR:1700000000.0:Привет, EjNET!
Пример строки ДЛЯ ПОДПИСИ (без текста):
FINANCE_EJNET_A1B2...:FINANCE_EJNET_C3D4...:10.0:ALR:1700000000.0
Генерирует новую пару ключей Ed25519 и возвращает адрес кошелька, а также приватный и публичный ключи в формате HEX.
Ответ (200 OK):
{
"status": "SUCCESS",
"address": "FINANCE_EJNET_A1B2C3D4E5F6789012345678",
"public_key_hex": "11223344556677889900aabbccddeeff11223344556677889900aabbccddeeff",
"private_key_hex": "887766554433221100ffeeddccbbaa99887766554433221100ffeeddccbbaa99"
}
Возвращает актуальные балансы кошелька по всем поддерживаемым валютам (включая ALR и EJR).
Ответ (200 OK):
{
"address": "FINANCE_EJNET_A1B2C3D4E5F6789012345678",
"balances": {
"ALR": 150.5,
"EJR": 10.0
}
}
Создает транзакцию перевода. Транзакция попадает в мемпул, записывается в блок и отправляется соседям по P2P Mesh-сети.
Тело запроса (JSON):
{
"sender_pubkey_hex": "11223344...",
"recipient_address": "FINANCE_EJNET_RECIPIENT_ADDRESS",
"amount": 50.0,
"currency": "ALR",
"message": "Привет! Это оплата за пост.",
"timestamp": 1700000000.0,
"signature_hex": "aa33bb44..."
}
Ответ (200 OK):
{
"status": "ACCEPTED",
"tx_id": "a1f2e3d4c5b67890",
"currency": "ALR",
"sent_amount": 49.875,
"ejnet_fee_0_25": 0.125,
"message": "Привет! Это оплата за пост."
}
Регистрирует адрес соседней P2P-ноды для участия в обмене транзакциями и блоками.
Тело запроса (JSON):
{
"node_url": "http://192.168.1.45:8000"
}
Ответ (200 OK):
{
"status": "SUCCESS",
"peer": "http://192.168.1.45:8000"
}
Возвращает список всех известных активных P2P-нод в сети.
Ответ (200 OK):
{
"peers": [
{
"node_url": "http://192.168.1.45:8000",
"last_seen": 1700000200.0
}
]
}
Принимает P2P-транзакцию от соседней ноды по протоколу Gossip. Если транзакция неизвестна, она добавляется в локальный мемпул.
Ответ (200 OK):
{
"status": "RECEIVED_VIA_GOSSIP",
"tx_id": "a1f2e3d4c5b67890"
}
Используется новыми нодами для скачивания блоков и синхронизации локальной БД.
Query параметры:
| Параметр | Тип | Описание |
|---|---|---|
from_index | int | Начальный индекс блока (по умолчанию 0) |
Ответ (200 OK):
{
"from_index": 0,
"blocks": [
{
"block_index": 0,
"timestamp": 1700000000.0,
"prev_hash": "0",
"block_hash": "GENESIS_HASH...",
"transactions": []
}
]
}
Возвращает сводную статистику ноды: количество блоков, транзакций, размер мемпула и данные о последнем блоке.
Ответ (200 OK):
{
"total_blocks": 150,
"total_transactions": 1240,
"pending_mempool": 0,
"last_block": {
"block_index": 149,
"timestamp": 1700000500.0,
"prev_hash": "a8b9c0d1e2f3...",
"block_hash": "f1e2d3c4b5a6..."
}
}