cooparser-ts v2.1.8
COOPARSER
Пакет производит распаковку блоков, сохраняя действия и дельты таблиц и выдавая их по API. Состоит из двух модулей: парсера и API. Парсер считывает данные из блокчейна и помещает их в базу. API получает данные по запросу и возвращает их с пагинацией.
Установка
pnpm install
Конфигурационный файл .env
NODE_ENV=development
- Определяет среду выполнения приложения.
API=http://127.0.0.1:8888
- Определяет URL-адрес API, к которому будет осуществляться доступ.
SHIP=ws://127.0.0.1:8080
- Определяет URL-адрес WebSocket-соединения, используемого для связи с другими узлами.
MONGO_EXPLORER_URI=mongodb://127.0.0.1:27017/cooperative
- Определяет URI-адрес MongoDB, используемый для подключения к базе данных.
START_BLOCK=1
- Определяет номер блока, с которого начинается парсинг блокчейна.
FINISH_BLOCK=0xFFFFFFFF
- Определяет номер блока, на котором заканчивается парсинг блокчейна. В данном случае, установлено значение "0xFFFFFFFF", что означает, что парсинг будет продолжаться до последнего доступного блока.
PORT=4000
- Определяет порт, на котором будет запущен сервер приложения.
ACTIVATE_PARSER=0
- Определяет флаг активации парсера. Если значение равно "1", парсер будет активирован.
Конфигурация парсера
В конфиге src/config.ts находится массив таблиц и действий, на которые парсер осуществит подписку.
export const subsribedTables = [
{ code: 'registrator', table: 'users', 'scope': 'registrator' },
{ code: 'soviet', table: 'participants' },
]
- подписка будет осуществлена на изменения таблиц указанных контрактов. Параметр scope - не обязательный. Без его указания любые scope будут попадать в базу данных.
export const subsribedActions = [
{ code: 'soviet', action: 'votefor' },
{ code: 'soviet', action: 'voteagainst' },
]
- подписка будет осуществлена на действия указанных контрактов.
Парсер может быть расширен любыми кастомными действиями, которые будут выполняться перед добавлением записи в базу данных. Для этого, для таблиц и действий соответственно, в папках src/ActionParser/Actions и src/DeltaParser/Deltas необходимо создать файлы с методами обработки и добавить их к src/ActionParser/Actions или src/DeltaParser/DeltaFactory.
Запуск
pnpm start
API
Получение таблиц
Конечная точка предоставляет информацию о изменении (дельтах) таблиц между блоками.
let params = {
page: 1,
limit: 10,
filter: { } - любые параметры фильтрации таблицы, включая данные в полях
};
axios.get('http://localhost:4000/get-tables', { params })
.then(response => {
console.log(response.data);
// {
// results: array,
// page: number,
// limit: number
// };
})
Получение действий
Конечная точка предоставляет информацию о действиях, произошедших между блоками.
let params = {
page: 1,
limit: 10,
filter: { } // любые параметры фильтрации действий, включая данные в полях
};
axios.get('http://localhost:4000/get-actions', { params })
.then(response => {
console.log(response.data);
// {
// results: array,
// page: number,
// limit: number
// };
})
.catch(error => {
console.error(error);
});
Получение текущего блока
Конечная точка предоставляет информацию о текущем блоке. Эта информация используется при формировании кооперативных документов.
axios.get('http://localhost:4000/get-current-block')
.then(response => {
console.log(response.data);
// number
})
.catch(error => {
console.error(error);
});
Лицензия
MIT License © 2024-PRESENT CBS VOSKHOD
7 months ago
8 months ago
9 months ago
9 months ago
11 months ago
11 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago