Skip to content

suigor/Tezos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TEZOS — приложение для запросов к Octez RPC (Tezos)

Консольное приложение и библиотека для работы с JSON RPC узла Octez (Tezos). Реализованы запросы к эндпоинтам блокчейна Tezos согласно документации и Shell RPC, Paris RPC.

Структура проектов

Проект Описание
XtzOctezBaker Консольное приложение (.NET 8.0), вызывает методы библиотеки и выводит результат.
XtzOctezBaker.Data Библиотека классов (.NET 8.0): модели ответов RPC и клиент ITezosRpcClient.

Реализованные запросы (XtzOctezBaker.Data)

  1. Получение последнего блока
    GET /chains/main/blocks/head
    Метод: GetHeadBlockAsync() → модель TezosBlock.

  2. Чтение конкретного блока
    GET /chains/main/blocks/{block_id}
    Метод: GetBlockAsync(blockId)
    block_id: head, genesis, уровень (число) или хеш блока.

  3. Чтение всех операций в блоке
    GET /chains/main/blocks/{block_id}/operations
    Метод: GetBlockOperationsAsync(blockId)
    Возвращает список списков операций по проходам валидации (pass 0–3).

  4. Чтение баланса на адресе
    GET /chains/main/blocks/{block_id}/context/contracts/{address}/balance
    Метод: GetBalanceAsync(blockId, address)
    Возвращает баланс в mutez (строка).

Настройка

В appsettings.json консольного приложения (или переменные окружения):

{
  "TezosRpc": {
    "BaseAddress": "http://172.16.10.64:48546",
    "ChainId": "main",
    "TimeoutSeconds": 30,
    "ExampleAddress": "tz1..."
  }
}
  • BaseAddress — базовый URL RPC-узла (без завершающего слеша).
  • ChainId — идентификатор цепи (main для основной сети).
  • ExampleAddress — опционально; адрес для проверки запроса баланса при запуске.

Запуск

Из корня workspace TEZOS:

dotnet run --project XtzOctezBaker

Приложение по очереди выполнит: получение head-блока, чтение блока по идентификатору, чтение операций блока и (если задан ExampleAddress) запрос баланса.

Регистрация в DI

В другом проекте подключите библиотеку и зарегистрируйте клиент:

services.AddTezosRpcClient();
// Конфигурация: секция TezosRpc (BaseAddress, ChainId, TimeoutSeconds)
var client = serviceProvider.GetRequiredService<ITezosRpcClient>();
var head = await client.GetHeadBlockAsync();
var balance = await client.GetBalanceAsync("head", "tz1...");

Комментарии и описания методов в коде приведены на русском языке.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages