Libdap-chain-net-python

From wiki.cellframe.net
Jump to navigation Jump to search

libdap-chain-net-python

Эта библиотека является обёрткой над libdap-chain-net. И предоставляет доступ к функциям и структурами используемым в libdap-chain-net.

Предоставляемые типы объектов

libdap-chain-net предоставляет следующие типы объектов для Python.

ChainNet

Объект типа ChainNet является обёрткой над структурой dap_chain_net_t, содержит указатель на структуру и предоставляет следующие функции для работы с ней

  • loadAll - Данная функция на вход нет принимает ни каких аргументов, является статической, возвращает всегда ноль. Данная функция производит загрузку информации о сетях, является обёрткой над функцией dap_chain_net_load_all
  • stateGoTo - Данная функция принимает на вход один аргумент, объект типа ChainNetState. Данная функция возвращает числовое значение. Данная функция переводит работу с сетью в определённое состояние первым аргументом. Данная функция является обёрткой над функцией dap_chain_net_state_go_to.
  • start - Данная функция не принимает на вход аргументов. Переводит ноду в состояние ONLINE. Возвращает числовое значение.
  • stop - Данная функция не принимает на вход аргументов. Переводит ноду в состояние OFFLINE. Возвращает числовое значение.
  • linksEstablish - Данная функция не принимает на вход аргументов. Переводит ноду в состояние NET_STATE_LINKS_ESTABLISHED. Возвращает числовое значение.
  • syncChains - Данная функция не принимает на вход аргументов. Данная функция синхронизирует состояния блок-чейн цепочки со всеми нода. Возвращает числовое значение. Данная функция является обёрткой над функцией dap_chain_net_sync_chains.
  • syncGdb - Данная функция не принимает на вход аргументов. Данная функция синхронизирует глобальную базу данных со всеми нода. Возвращает числовое значение. Данная функция является обёрткой над функцией dap_chain_net_sync_gdb.
  • syncAll - Данная функция не принимает на вход аргументов. Данная функция синхронизирует состояния блок-чейн цепочки и глобальную базу данных (всё) со всеми нода. Возвращает числовое значение. Данная функция является обёрткой над функцией dap_chain_net_sync_all.
  • procDatapool - Данная функция не принимает на вход аргументов. Данная функция выполняет процедуры над пулом данных. Данная функция всегда возвращает ноль.
  • byName - Данная функция в качестве входного аргумента принимает строку, а возвращает объект типа ChainNet. Данная функция является статической. Данная функция возвращает chain-net по имени. Данная функция является обёрткой над функцией dap_chain_net_by_name.
  • byId - Данная функция в качестве входного аргумента принимает объект типа ChainNetID, и возвращает объект типа ChainNet. Данная функция является статической. Данная функция возвращает chain-net по идентификатору. Данная функция является обёрткой над функцией dap_chain_net_by_id.
  • idByName - Данная функция в качестве входного аргумента принимает строку, а возвращает объект типа ChainNetID. Данная функция по имени сети получает ID сети. Также эта функция является статической. Данная функция является обёрткой над функцией dap_chain_net_id_by_name.
  • ledgerByNetName - Данная функция в качестве входного аргумента принимает строку, а возвращает объект типа ChainLedger. Данная функция является статической. Данная функция по имени сети получает журнал, который ведётся в данной сети. Данная функция является обёрткой над функцией dap_chain_ledger_by_net_name.
  • getChainByName - Данная функция в качестве входного аргумента принимает строку, а возвращает объект типа Chain. Эта функция по имени находит цепочку в сети и получает её. Данная функция является обёрткой над функцией dap_chain_net_get_chain_by_name.
  • getCurAddr - Данная функция не принимает входящих аргументов, возвращает объект типа ChainNodeAddr. Эта функция получает текущий адрес в сети для данной ноды. Данная функция является обёрткой над функцией dap_chain_net_get_cur_addr.
  • getCurCell - Данная функция не принимает входящих аргументов, возвращает объект типа ChainCellID. Эта функция получает текущий идентификатор ячейки в сети для данной ноды. Данная функция является обёрткой над функцией dap_chain_net_get_cur_cell.
  • getCurAddrInit - Данная функция не принимает входящих аргументов, возвращает числовое значение, производит инициализация адреса для текущей сети. Данная функция является обёрткой над функцией dap_chain_net_get_cur_addr_int.
  • getGdbGroupMempool - Данная функция на вход принимает один аргумент, объект типа Chain, а возвращает строку. Данная функция возвращает всю цепочку транзакций (mempool). Эта функция является статической. Данная функция является обёрткой над функцией dap_chain_net_get_gdb_group_mempool.
  • getGdbGroupMempoolByChainType - Данная функция на вход получает один аргумент, объект типа ChainType и возвращает строку. Данная функция получает для сети и определённого типа цепочки, цепочки транзакций (mempool). Данная функция является обёрткой над функцией dap_chain_net_get_gdb_group_mempool_by_chain_type.
  • linksConnect - Данная функция на вход не получает аргументов. Возвращает всегда число ноль. Эта функция производит соединение ссылок, в данной сети. Данная функция является обёрткой над функцией dap_chain_net_links_connect.
  • getChainByChainType - Данная функция в качестве входного аргумента принимает объект типа ChainType, и возвращает объект типа Chain. Данная функция возвращает объект содержащий цепочку заданного типа. Данная функция является обёрткой над функцией dap_chain_net_get_chain_by_chain_type.

ChainNetNode

Задачей объекта типа ChainNetNode является предоставить для работы следующие функции:

  • genAddr - Данная функция в качестве входных аргументов принимает два параметра: объект типа ChainNet и объект типа ChainCellID. Данная функция является статической. Данная функция возвращает объект типа ChainNodeAddr. Данная функция генерирует адрес для ноды. Данная функция является обёрткой для функции dap_chain_node_gen_addr.
  • checkAddr - Данная функция принимает на вход три аргумента: объект типа ChainNet, объект типа ChainNodeAddr, объект типа ChainCellID. Данная функция проверяет, объект типа ChainNetAddr. Данная функция возвращает логическое значение. Данная функция является обёрткой для функции dap_chain_node_check_addr.
  • aliasFind - Данная функция в качестве входных параметров принимает на вход два аргумента: объект типа ChainNet и строку - алиас. Данная функция возвращает объект типа ChainNodeAddr. Данная функция находит ноду в сети по алиасу. Данная функция оборачивает функцию dap_chain_node_alias_find
  • aliasRegister - Данная функция в качестве входных аргументов принимает три параметра: объект типа ChainNet, строку - алиас, объект типа ChainNodeAddr. Данная функция возвращает логическое значение. Данная функция производит регистрацию алиаса. Данная функция является обёрткой над функцией dap_chain_node_alias_register.
  • aliasDelete - Данная функция на вход принимает два параметра: объект типа ChainNet и строку - алиас. Данная функция возвращает логическое значение. Данная функция удаляет заданный алиас. Эта функция является обёрткой для функции dap_chain_node_alias_delete.

ChainNodeCLI

Объект типа ChainNodeCLI оборачивает структуру cmdfunc_t. И предоставляет следующие функции

  • cmdItemCreate - Данная функция на вход принимает четыре аргумента: строку, вызываемую функцию(функцию обратного вызова), строку, строку. Данная функция возвращает ноль, или NULL в случае ошибки. Данная функция создаёт команду по указанным параметрам. Данная функция производит регистрацию алиаса. Данная функция является обёрткой над функцией dap_chain_node_cli_cmd_item_create.
  • setReplyText - Данная функция в качестве аргументов принимает два параметра: список строк и строку. Функция возвращает ноль. Функция устанавливает текст ответа. Данная функция является обёрткой над функцией dap_chain_node_cli_set_reply_text.
  • getByAlias - Данная функция в качестве параметров, принимает два аргумента: объект типа ChainNet и строку. Функция является статической. Функция по алиасу возвращает объект типа ChainAddr. Данная функция является статической. Данная функция является обёрткой над функцией dap_chain_node_addr_get_by_alias.

ChainNodeClient

Объект типа ChainNodeClient оборачивает структуру dap_chain_node_client_t и предоставляет следующие функции:

  • clientConnect - Данная функция на вход принимает три аргумента: объект типа ChainNodeInfo, объект типа ClientStage, строку - активный канал. Данная функция является статической. Функция возвращает объект типа ChainNodeClient. Функция подключает клиента к ноде. Данная функция оборачивает функцию dap_chain_client_connect.
  • nodeClientConnect - Данная функция на вход принимает объект типа ChainNodeInfo, а возвращает объект типа ChainNodeClient. Данная функция является статической. Эта функция по информации о ноде получает клиент для работы с ней. Данная функция оборачивает функцию dap_chain_node_client_connect.
  • close - Данная функция на вход не принимает аргументов. Возвращает всегда ноль. Данная функция закрывает соединение с клиентом.
  • sendChPkt - Данная функция на вход принимает три аргумента: число размером не боле uint8_t - чейн id, число размером не боле uint8_t - тип, объект типа Bytes. Данная функция возвращает числовое значение. Данная функция отправляет запрос. Данная функция является обёрткой над функцией dap_chain_node_client_send_ch_pkt.
  • wait - Данная функция на вход принимает два аргумента: число - время ожидания, число - таймаут. Данная функция возвращает числовое значение. Данная функция ожидает заданное время. Данная функция является обёрткой над функцией dap_chain_node_client_wait.
  • setCallbacks - Данная функция на вход принимает два аргумента: объект типа Client, число не более uint8_t - чейн id. Данная функция является статической. Данная функция возвращает числовое значение. Эта функция устанавливает колбэки. Данная функция является обёрткой над функцией dap_chain_node_client_set_callbacks.

ChainNodeInfo

Объект типа ChainNodeInfo является обёрткой для структуры dap_chain_node_info_t. И данный объект предоставляет следующие функции:

  • save - Данная функция принимает на вход один параметр: объект типа ChainNet. Данная функция возвращает числовое значение. Данная функция сохраняет информацию о ноде. Данная функция является обёрткой над функцией dap_chain_node_info_save.
  • read - Данная функция принимает на вход два параметра: объект типа ChainNet, объект типа ChainNodeAddr. Функция возвращает объект типа ChainNodeInfo. Данная функция является статической. Данная функция производит чтения информации о ноде. Данная функция является обёрткой над функцией dap_chain_node_info_read.

ChainNetState

Представляет собой обёртку над структурой dap_chain_net_state_t. И является аналогом обычного enum. Функции, которые он предоставляет, являются статическими, возвращают объект типа ChainNetState.

  • NET_STATE_OFFLINE
  • NET_STATE_LINKS_PREPARE
  • NET_STATE_LINKS_CONNECTING
  • NET_STATE_LINKS_ESTABLISHED
  • NET_STATE_ADDR_REQUEST
  • NET_STATE_SYNC_GDB
  • NET_STATE_SYNC_CHAINS