https://github.com/meetinger/test_blockchain
https://github.com/meetinger/test_blockchain
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/meetinger/test_blockchain
- Owner: meetinger
- Created: 2024-06-05T15:34:54.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-09T01:26:02.000Z (about 2 years ago)
- Last Synced: 2025-01-17T08:22:32.420Z (over 1 year ago)
- Language: Python
- Size: 34.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Test Blockchain
## Установка и настройка
1) Установите git, docker, docker compose, Python
2) Склонируйте репозиторий командой `git clone`
3) Измените `.env` и `.env.docker` под себя
ВНИМАНИЕ!!! НЕ МЕНЯЙТЕ СТРОЧКУ `DB_NEO4J_USER=neo4j`
ИНАЧЕ neo4j НЕ ЗАПУСТИТСЯ!
4) Поднимите контейнеры командой `docker compose up -d`
5) Перейдите на `http://localhost<ваш ROOT_PATH>:<ваш HTTP_PORT>/docs`
По-дефолту: http://localhost:8123/docs
P.S: Я загрузил тестовые дампы c blockchair на GoogleDrive:
https://drive.google.com/file/d/14SsxlYpQbH9Xw3rXb8HUM39urNRUTIhz/view?usp=sharing
Вы можете скачать их, распаковать и положить в нужную директорию, по-дефолту это:
`корень_проекта/downloads`
Должно получиться так:
```
КОРЕНЬ_ПРОЕКТА
-downloads
--inputs
---blockchair_bitcoin_inputs_20240606.tsv
--outputs
---blockchair_bitcoin_outputs_20240606.tsv
```
Также в проекте имеется скрипт для загрузки тестовых данных в БД:
`src/service/blockchair/test_insert.py`
Запускать его только при поднятых контейнерах и установленных зависимостях через
`poetry install` из корня проекта
Пример адреса из тестового дампа: `bc1qm34lsc65zpw79lxes69zkqmk6ee3ewf0j77s3h`
Пример тестовой транзакции: `77a72bf7c263c4cd30e2d48fb47e7fe925941336709df305cfcdfa531bd31b32`
## Фичи:
1) Асинхронность
2) Воркер для ежесуточной автоматической загрузки данных из blockchair(полностью не тестировалось из-за отсутствия токена)
3) API для просмотра адресов и транзакций, а также принудительного запуска загрузки данных
4) Запуск в докере