«Алгоритм» поставляет майнинг-оборудование бизнесу и частным инвесторам. Компания закупает ASIC-майнеры у производителей и поставщиков из Китая, помогает подобрать оборудование и предлагает услуги доверительного управления.
ASIC-майнеры — специализированные устройства для добычи криптовалют. В отличие от обычного компьютера, они созданы под конкретные алгоритмы и круглосуточно выполняют вычисления, за которые владелец получает вознаграждение в криптовалюте.
Покупателю ASIC-майнеров мало знать цену устройства. Ему важно понимать экономику: сколько будет стоить доставка, электричество и само оборудование, какой курс валют заложен в расчёт и какую доходность может показать конкретная модель.
О проекте
До старта проекта клиенту был доступен небольшой информационный сайт о компании и команде.
На тот момент при выборе ASIC-майнеров был реализован базовый подсчёт экономической модели: компания получала цены от китайских поставщиков, учитывала логистику и коммерческие параметры, а доходность рассчитывала в нескольких связанных Excel-таблицах.
Заказчик решил перенести эту механику в цифровую платформу — покупателю должен был быть доступен каталог, где он выбирает оборудование и получает автоматический расчёт потенциальной доходности. Сотрудники «Алгоритма» управляют товарами, ценами и коммерческими параметрами. Поставщики из Китая — самостоятельно передают актуальные закупочные цены.
Первая версия стала ядром будущей отраслевой платформы, которую компания планировала постепенно расширять новыми товарами, услугами и участниками рынка.
Задачи проекта
1. Разработать сайт с публичным каталогом майнингового оборудования и детальными страницами товаров.
2. Перенести в веб-интерфейс математическую модель расчёта доходности для посетителей.
3. Создать административную панель для управления каталогом, ценами, пользователями и контентом.
4. Разработать личные кабинеты для сотрудников компании и поставщиков из Китая.
5. Автоматизировать получение, проверку и согласование цен от поставщиков.
6. Настроить ролевую модель и ограничить доступ к коммерческим данным.
7. Заложить архитектуру для дальнейшего развития продукта в отраслевую платформу.
Реализация
Каталог демонстрирует оборудование вместе с его экономикой
Публичная часть строится вокруг каталога ASIC-майнеров. Для каждой модели сделали отдельную страницу с ценой, техническими характеристиками, документами и данными для расчёта доходности.
Каталог управляется из административной панели — cотрудник может добавить новую модель, характеристики, бренд, поддерживаемую криптовалюту, алгоритм майнинга или тип охлаждения. Для этого создали отдельные справочники.
Расчёт доходности перенесли из Excel в систему
Самой сложной частью проекта оказался расчёт потенциальной доходности ASIC-майнеров. У заказчика уже была собственная финансовая модель в Excel: четыре вкладки примерно по 200 строк и 50 колонок. В ней учитывались прогнозы курса биткоина и стоимости оборудования, сложность сети, халвинг, коммерческие параметры и другие факторы.
Часть данных была статичной, часть регулярно менялась, часть заказчик хотел корректировать вручную. Сама методика расчёта тоже продолжала развиваться по ходу проекта. Перенос всей этой логики в программный код сделал бы дальнейшие изменения дорогими: каждую корректировку формул пришлось бы проводить через разработчиков.
Поэтому Excel оставили расчётным ядром системы. Заказчик сохранил привычный инструмент и возможность самостоятельно менять формулы и прогнозы, а веб-сервис взял на себя получение исходных данных, запуск расчётов и передачу результата пользователю.
Для каждого запроса система получает часть параметров с внешних площадок, берёт коммерческие настройки из административной панели и подставляет значения в заранее определённые ячейки Excel. После этого запускаются четыре сценария расчёта доходности, а готовые результаты считываются из заданных колонок и выводятся на сайте.
Получение внешних данных тоже потребовало отдельной работы. Для части источников не было подходящего API, поэтому данные собирали автоматически через Playwright. Во время разработки один из сервисов с курсовыми данными прекратил работу. Поэтому мы перестроили интеграцию так, чтобы источник можно было заменить и сохранить саму расчётную модель.
Отдельной задачей стала скорость. Первые версии расчёта занимали около 30 секунд: значительная часть времени уходила на загрузку большой Excel-модели в память. Мы использовали Laravel Octane, чтобы держать файл загруженным между запросами. В результате время одного расчёта сократилось примерно до 4 секунд.
В результате заказчик сохранил сложную и постоянно меняющуюся модель в Excel, а посетитель сайта получил обычный веб-калькулятор с актуальными входными данными и результатом за несколько секунд. Формулы и прогнозы можно обновлять в привычной таблице без переработки всей расчётной логики сайта.
Поставщики сами передают актуальные цены
Закупочная стоимость оборудования приходит от поставщиков из Китая и напрямую влияет на итоговую цену и расчёт доходности.
Для поставщиков создали отдельный личный кабинет. Пользователь выбирает модель и указывает свою текущую цену. Дальше значение проходит автоматическую проверку.
Система сравнивает новую цену с предыдущими данными. При отклонении больше 5% поставщик получает предупреждение, а ответственному сотруднику «Алгоритма» приходит уведомление в Telegram.
Такое значение отдельно появляется в административной панели. Сотрудник может уточнить цену у поставщика и подтвердить или отклонить её. В коммерческих расчётах используются только прошедшие проверку данные.
Это защищает всю следующую цепочку от случайной ошибки во вводе: одна неверная цифра в закупочной цене могла бы изменить стоимость оборудования и расчёт его доходности.
Коммерческие условия управляются через административную панель
Цена ASIC складывается из нескольких переменных, поэтому нельзя было жестко зашивать коммерческую модель в код.
В административной панели сотрудники «Алгоритма» могут задавать курсовые корректировки, стоимость автомобильной и авиационной логистики, разные тарифы для направлений поставки и размер наценки в зависимости от суммы заказа.
Меняется стоимость доставки или правило ценообразования — сотрудник обновляет значение в системе, и оно начинает использоваться в дальнейших расчётах.
Каждый пользователь видит только свои данные
Внутри платформы работают владельцы системы, администраторы, сотрудники и зарубежные поставщики. При развитии продукта к ним добавятся новые типы внешних пользователей.
Поэтому для проекта подготовили матрицу ролей и прав доступа. Поставщик работает со своими ценовыми предложениями, сотрудник получает необходимые ему инструменты управления, а наиболее чувствительные коммерческие данные доступны только владельцу системы.
Ролевая модель сразу рассчитана на расширение платформы: новые участники смогут подключаться к существующему ядру с собственными правами и сценариями работы.
Система накапливает историю цен и продаж
Каждую ночь платформа сохраняет стоимость оборудования. Из этих данных постепенно формируется история изменения цены конкретной модели.
Для сотрудников также сделали модуль учёта продаж: можно указать модель ASIC, количество устройств, дату и фактическую цену продажи.
Эти данные собираются внутри одного контура и станут основой для следующих аналитических разделов продукта.
Тестирование и приёмка
В этом проекте ошибка в одном модуле могла пройти дальше по цепочке. Неверная цена поставщика влияет на коммерческий расчёт, тот — на стоимость оборудования, а стоимость участвует в расчёте доходности.
Поэтому крупные части системы проверяли сразу после разработки. Отдельно тестировали авторизацию, личные кабинеты, каталог, работу с ценами и расчётные сценарии. Такой порядок позволял находить проблему внутри конкретного модуля и не накапливать ошибки к финальной приёмке.
Результат
По итогам 4000 часов работы над первой версией заказчик получил работающее ядро платформы, которое связывает ключевые данные от закупочной цены до расчёта для конечного пользователя.
В него входят:
- - публичный каталог оборудования;
- - детальные страницы ASIC-майнеров;
- - расчёт потенциальной доходности;
- - административная панель;
- - личные кабинеты сотрудников и поставщиков;
- - проверка закупочных цен;
- - коммерческие настройки;
- - ролевая модель;
- - учёт продаж;
- - история изменения цен.
Техническая часть MVP готова к развёртыванию. Для публичного запуска заказчику осталось подготовить фотографии и видео оборудования для сайта и каталога.
В планах по развитию проекта — сравнение ASIC-майнеров, отдельный каталог комплектующих и расходников, оформление лизинга, доверительное управление, расширенная статистика и подключение сторонних продавцов с предложениями бывшего в употреблении оборудования.
Архитектура первой версии заложила основу для развития корпоративного сайта «Алгоритм» в отраслевой сервис для участников майнингового рынка, где в одном месте объединятся оборудование, актуальные рыночные данные, расчёты и предложения разных поставщиков.