Дашборд криптовалют на HTML и CSS
Криптовалюты становятся всё более массовыми: форки, мошенничества и высокая волатильность — причины, по которым полезно следить за ценами в реальном времени. Если вы уже купили криптовалюту или только думаете о покупке, дашборд поможет быстро оценивать ситуацию.
Важно: Покупка криптовалют — это высокоспекулятивная инвестиция. Не вкладывайте больше, чем можете позволить себе потерять.
Как это работает — кратко
Виджет CoinMarketCap предоставляет готовый HTML/JS-блок, который показывает текущую цену, изменение и некоторые статистики для выбранной монеты. Мы вставляем этот блок в простую HTML-страницу и стилизуем её с помощью CSS. При необходимости можно подключить API CoinMarketCap или других сервисов и автоматически обновлять данные и оповещения.
Начало работы
- Перейдите на сайт coinmarketcap.com.
- Выберите нужную валюту через поиск или список.
- На странице выбранной монеты откройте вкладку Инструменты.
- В разделе Website Widget скопируйте код.
После выбора монеты вы попадёте на страницу с обзором монеты, графиками и аналитикой. На вкладке Инструменты вы найдёте готовый виджет, который можно настроить — цветовую схему, базовую валюту и пр. Для наших целей достаточно копировать код из Website Widget.
Ниже — пример кода виджета для Bitcoin (пример точно такой же, как на сайте):
Процесс одинаков для любой монеты: найдите монету, скопируйте код виджета и вставьте на страницу.
Если нужна автоматизация (оповещения, сложные агрегаты), используйте API Ticker и планировщик задач (cron, systemd timers, облачные функции). Это выходит за рамки простого руководства, но пример базовой идеи приведён ниже.
Создание HTML-страницы
Создайте файл dashboard.html и вставьте минимальную структуру HTML:
Crypto Dashboard
Вставьте код виджета внутри body. Полный пример с Bitcoin:
Crypto Dashboard
Это всё — дашборд уже работает.
Оформление и базовый CSS
По умолчанию виджет занимает ширину 100% контейнера. Добавим простую стилизацию:
Под заголовком вставьте стиль:
Короткое объяснение:
- Селектор .coinmarketcap-currency-widget таргетирует контейнер виджета.
- width: 33% делает виджет уже и менее «растянутым».
- margin: 100px auto добавляет отступ сверху/снизу и центрирует по горизонтали.
Вы можете дальше менять цвета, шрифты и фон — всё зависит от задач.
Несколько монет и сетка
Чтобы добавить дополнительные монеты, скопируйте код виджета для каждой монеты и вставьте их подряд. Обратите внимание: скрипт currency.js нужно подключать один раз на страницу.
Чтобы расположить виджеты горизонтально и уменьшить промежутки, используйте такой CSS:
.coinmarketcap-currency-widget {
width: 23%;
margin: 10px 1%;
float: left;
}Когда количество виджетов растёт (≈10–12), возможно, придётся подправить ширины и отступы.
Responsive и медиазапросы
Чтобы дашборд корректно выглядел на мобильных, добавьте медиазапросы:
@media (max-width: 800px) {
.coinmarketcap-currency-widget {
width: 48%;
margin: 8px 1%;
float: left;
}
}
@media (max-width: 480px) {
.coinmarketcap-currency-widget {
width: 98%;
margin: 6px 1%;
float: none;
}
}Автообновление страницы
Чтобы обновлять страницу каждые X секунд, вставьте в
мета‑тег:Значение content задаёт число в секундах (в примере 60). Помните: частые обновления увеличивают нагрузку и потребление трафика.
Автоматизация с API (кратко)
Если вам нужно больше контроля (оповещения, статистика, кросс‑сервисные агрегаты), используйте API CoinMarketCap или других поставщиков. Обычно нужен API‑ключ и ограничения по запросам.
Пример идеи: маленький Node.js скрипт, который каждые 5 минут запрашивает цену и отправляет email при падении ниже порога. Ниже — псевдокод идеи (контролируйте лимиты API и приватность ключей):
// node.js - idea
const fetch = require('node-fetch');
const API_KEY = process.env.CMC_KEY; // храните в окружении
setInterval(async () => {
const res = await fetch('https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?symbol=BTC', {
headers: { 'X-CMC_PRO_API_KEY': API_KEY }
});
const data = await res.json();
const price = data.data.BTC.quote.USD.price;
if (price < 30000) { sendAlertEmail(price); }
}, 5 * 60 * 1000);Важно: не кладите ключи API в публичные репозитории.
Мини‑методология: как собрать дашборд шаг за шагом
- Определите цель: инвест‑мониторинг, курсы для посетителей сайта или декоративный пример.
- Выберите список монет (основная монета + 3–8 альткоинов для сравнения).
- Скопируйте виджеты и разместите их в сетке.
- Настройте стили и медиазапросы для всех устройств.
- Решите, нужно ли автообновление (мета‑тег) или мягкое обновление через JS/fetch.
- Для оповещений подключите API и безопасное хранилище ключей.
- Проверьте производительность и ограничьте частоту обновлений.
Шпаргалка CSS пресетов
- Одиночный центрированный виджет:
.coinmarketcap-currency-widget { width: 40%; margin: 80px auto; }- Сетка карточек 3 в ряд:
.container { overflow: auto; }
.coinmarketcap-currency-widget { width: 30%; margin: 1.66%; float: left; }- Минимальная высота и визуальный контур:
.coinmarketcap-currency-widget { min-height: 120px; box-shadow: 0 1px 4px rgba(0,0,0,0.1); }Роли и чек‑листы
Разработчик:
- Проверить подключение currency.js один раз.
- Сделать контейнеры отзывчивыми и доступными.
- Хранить ключи API в переменных окружения.
Трейдер/инвестор:
- Добавить основные позиции и 3–5 альткоинов для мониторинга.
- Настроить оповещения при крупных движениях.
Хобби и демонстрация:
- Выбрать визуальные настройки и цвета.
- Подумать о Raspberry Pi для постоянного отображения на ТВ или мониторе.
Системный администратор:
- Обеспечить HTTPS при развёртывании.
- Ограничить частоту запросов к API и мониторить использование.
Когда это не подойдёт
- Вам нужен сверхточный, низколатентный трейдинг в реальном времени (HFT) — публичный виджет и стандартные API не подойдут.
- Нужно хранить или обрабатывать чувствительные персональные данные — виджет публикует только данные рынка, но интеграции и оповещения требуют учёта приватности.
Безопасность и конфиденциальность
- Не публикуйте API‑ключи в открытых репозиториях.
- Используйте HTTPS для страниц и бэкендов.
- Если отправляете оповещения на почту/мессенджеры — не включайте приватные финансовые данные в сообщениях.
- Для развёртывания на Raspberry Pi ограничьте доступ по сети и используйте firewall.
Критерии приёмки
- Страница открывается и отображает выбранные виджеты.
- Скрипт currency.js загружен один раз и без ошибок.
- Виджеты корректно перестраиваются при изменении ширины окна (медиазапросы работают).
- Обновление данных происходит с указанной частотой без превышения лимитов API.
Частые ошибки и как их исправить
- Скрипт подключён несколько раз — оставьте только одну строку .
- Виджеты «прыгают» — задайте min-height и box-sizing: border-box.
- Слишком частые обновления — увеличьте интервал, используйте кеширование.
Глоссарий
- Виджет — готовый фрагмент HTML/JS, вставляемый на страницу для отображения данных.
- API — интерфейс для получения данных программно.
- Медиазапрос — CSS‑правило для адаптации стилей под разные размеры экрана.
Заключение
Создание собственного дашборда криптовалют на HTML и CSS — простой и полезный способ следить за ценами. Начните с одного виджета CoinMarketCap, затем добавляйте монеты, улучшайте стили и при необходимости подключайте API для оповещений. Следите за безопасностью ключей и не обновляйте страницу слишком часто, чтобы не перегружать сеть и не исчерпать лимиты API.
Важно: Дешёвые и быстрые решения удобны, но для критичного мониторинга и автоматической торговли требуются надёжные API, архитектура и тестирование.
Поделитесь: вы уже собрали дашборд? Где он висит — на рабочем столе, на Raspberry Pi или в облаке? Напишите в комментариях.