uploader-bot/ENDPOINTS.md

68 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

1. GET /api/v1/node
{
node_address: service_wallet,
master_address: platform collection,
indexer_height: int,
services: {
..status&delay only
}
}
2. POST /api/system.sendStatus
3. GET /api/system.version
{
codebase_hash: string,
codebase_branch: string
}
4. GET /api/tonconnect-manifest.json
используется для tonconnect на фронтенде бота (централизация)
5. GET /api/platform-metadata.json
используется при создании platform, если ранее не создано
6. POST /api/v1/auth.twa
сохраняет информацию о пользователе (его кошельке), выдает взамен токен для операций с этой нодой
7. GET /api/v1/tonconnect.new [! DEPRECATED !]
8. POST /api/v1/tonconnect.logout [! DEPRECATED !] но возможно нужно использовать при отключении кошелька в вебаппе
9. POST /api/v1/storage
загрузка контента на ноду с получением его хэша, TODO: нужно делать загрузку по частям чтобы сервер не падал
10. GET /api/v1/storage/<file_hash>
получение файла целиком. TODO: изучить реальный стриминг файла
TODO: реализовать поиск файла на других нодах
11. GET /api/v1/storage.decodeContentId/<content_id>
просто баловство
12. GET /api/v1/account [! DEPRECATED !]
получение информации о пользователе, не нужно от слова совсем
13. POST /api/v1/blockchain.sendNewContentMessage
14. POST /api/v1/blockchain.sendPurchaseContent
15. GET /api/v1/content.list
16. GET /api/v1/content.view
17. GET /api/v1/network.info
Возвращает информацию о ноде: id/public_key, version, node_type, metrics, capabilities.
18. GET /api/v1/network.nodes
Возвращает список известных публичных нод с совместимостью и метаданными.
19. POST /api/v1/network.handshake
Рукопожатие между нодами. Тело запроса подписано приватным ключом ноды; ответ подписан приватным ключом сервера.
Поля запроса: version, public_key (base58), node_type, metrics, capabilities, timestamp, nonce, signature.
Поле public_host обязательно для public-нод, и опционально/пустое для private-нод.
Поля ответа: compatibility, node, known_public_nodes, timestamp, server_public_key, server_signature (+ warning при несовпадении MINOR).
Private-ноды не сохраняются на стороне принимающей ноды (никакого учета peer-а), но получают список публичных нод и могут синхронизироваться через них.