Alex Ant bc8eb88171 init
2025-02-10 14:41:49 +05:00
2025-02-10 14:41:49 +05:00
2025-02-10 14:41:49 +05:00
2025-02-10 14:41:49 +05:00
2025-02-10 14:41:49 +05:00
2025-02-10 14:41:49 +05:00
2025-02-10 14:41:49 +05:00

Table Extractor

Этот инструмент извлекает данные из таблиц контрактов EOSIO (Antelope) и сохраняет их в JSON-файлы. Используется wharfkit для работы с API, а данные сортируются по окружениям, временным меткам и скопам.

Установка

Перед началом работы установите зависимости:

pnpm install

Конфигурация

Конфигурация находится в файле config.ts. В зависимости от окружения (local, test, dev) автоматически подставляются соответствующие endpoint и scopes. Структура config.ts:

const env = process.env.NODE_ENV || "local";

const envConfigs = {
  local: {
    endpoint: "https://local-api.coopenomics.world",
    scopes: ["local_scope1", "local_scope2"]
  },
  test: {
    endpoint: "https://test-api.coopenomics.world",
    scopes: ["test_scope1", "test_scope2"]
  },
  dev: {
    endpoint: "https://api.coopenomics.world",
    scopes: ["voskhod", "pgrzosdeyuwg", "nzpzufzhcfab", "honruwpdxtty"]
  }
};

export const config = {
  environment: env,
  endpoint: envConfigs[env].endpoint,
  scopes: envConfigs[env].scopes,
  contracts: [
    {
      name: "soviet",
      tables: [
        { name: "participants" },
        { name: "wallets" },
        { name: "progwallets" },
        { name: "programs" }
      ]
    }
  ]
};

Запуск

Выберите нужное окружение:

pnpm extract:local   # Запускает экстракцию для локального окружения
pnpm extract:test    # Запускает экстракцию для тестового окружения
pnpm extract:prod    # Запускает экстракцию для продакшн окружения

Структура выходных файлов

Данные сохраняются в ./data/{env}/{timestamp}/{scope}/{contract}-{table}.json. Пример:

data/dev/2025-02-10T12-30-00Z/
  voskhod/
    soviet-participants.json
    soviet-wallets.json
  pgrzosdeyuwg/
    soviet-participants.json
    soviet-wallets.json

Зависимости

@wharfkit/antelope для работы с API EOSIO fs-extra для работы с файловой системой dotenv – для загрузки переменных окружения

Лицензия

MIT

S
Description
Извлекает избранные таблицы из блокчейна и сохраняет их в файлы
Readme 72 KiB
Languages
TypeScript 100%