Источник PVSM.ru, Москва
Заголовок Мы захотели надежности, и сделали интегратор курсов валют ADAMANT Currencyinfo
Дата 20240920

Этим цветом    обозначаются известные системе слова и выражения, принимавшие участие в анализе данного текста, а таким    - идентифицированные, то есть соотнесенные с каким-либо объектом онтологической базы

============= Обработанный текст:
Мы захотели надежности, и сделали интегратор курсов валют• Экономика » Финансы » Платежные средства » Валютный рынок » Валютный курс

• Экономика » Макроэкономика » Валютный курс
ADAMANT Currencyinfo

Мы захотели надежности, и сделали интегратор курсов валют• Экономика » Финансы » Платежные средства » Валютный рынок » Валютный курс

• Экономика » Макроэкономика » Валютный курс
ADAMANT Currencyinfo

2024-09-20 в 10:55 , admin , рубрики: api , coingecko , coinmarketcap ,
cryptocurrency• Экономика » Финансы » Платежные средства » Платежные системы интернета » Криптовалюта , exchange , exchanger , finance , money , service , валюты

Вы знаете множество сервисов, которые предоставляют курсы фиатных и крипто-
валют. В разной степени им свойственны недостатки:

Единственный источник данных

Предоставляются как SaaS на их хостинге

Завышенная стоимость подписки

Сложный API

Ключевой мотив создания ADAMANT Currencyinfo — надежность. Вот недавний и
очередной пример фейла Coinmarketcap:

x.com

x.com

По курьей причине API Coinmarketcap отдавал курсы некоторых криптовалют• Экономика » Финансы » Платежные средства » Платежные системы интернета » Криптовалюта с
дефектом ~98%. Если у вас свой обменник, я уверен, что вы бы не хотели отдать
1000 INJ за 370 USD при реальной стоимости 20k USD.

Аналогичные проблемы мы наблюдаем и у других провайдеров курсов с частотой 1–2
раза в год.

Резюме

Мы сделали сервис, который собирает данные курсов валют• Экономика » Финансы » Платежные средства » Валютный рынок » Валютный курс

• Экономика » Макроэкономика » Валютный курс
от нескольких
источников и анализирует их корректность, и хостится на собственном сервере.

Currencyinfo полностью бесплатен и с открытым кодом:
https://github.com/Adamant-im/currencyinfo

Написали на TypeScript, для установки на ваш сервер/VPS можно использовать
Docker или собрать из репозитория. Требования к VPS минимальны, а для
подключения источников данных достаточно их бесплатных аккаунтов. Уведомляет о
сомнительных курсах в Slack, Discord или ADAMANT Messenger.

Как проверяем курсы

Currencyinfo получает данные из источников, которые вы указали в конфиге и
анализирует валидность курса каждой валюты:

Считает ненадежными курс валюты• Экономика » Финансы » Платежные средства » Валютный рынок » Валютный курс

• Экономика » Макроэкономика » Валютный курс
, если получили данные менее, чем от minSources
источников

Группирует курсы валюты• Экономика » Финансы » Платежные средства » Валютный рынок » Валютный курс

• Экономика » Макроэкономика » Валютный курс
по rateDifferencePercentThreshold

Выбирает самую надежную группу по groupPercentage или весам надежности weight

Считает финальный курс как средний/мин/макс, выбирает по приоритету источников
priorities, или по весу надежности weight.

Вот пример для вычисления курса ADM/USD, когда получили разные курсы от трех
источников — Coinmarketcap, Coingecko и Cryptocompare:

Детальное описание алгоритма — в GitHub Wiki .

Источники данных

Currencyinfo умеет работать с данными:

MOEX — Московская биржа• Объект организация » Организации по алфавиту » Организации на Мо » Московская биржа. Увы, USD и EUR• Экономика » Экономика Евросоюза » Евро

• Физико-географические регионы » Европа » Европейские валюты » Евро
они не торгуют, но данные по RUB и CNY
актуальны.

Currency API — Обновляет данные раз в день, поэтому имеет смысл только для
фиата

ExchangeRate.Host — Предоставляет актуальные курсы фиата, драгоценных металлов
и биткоина• Экономика » Финансы » Платежные средства » Платежные системы интернета » Криптовалюта » Bitcoin

CoinMarketCap — Курсы криптовалют• Экономика » Финансы » Платежные средства » Платежные системы интернета » Криптовалюта с ежеминутными обновлениями

CryptoCompare — Курсы фиата криптовалют• Экономика » Финансы » Платежные средства » Платежные системы интернета » Криптовалюта с частыми обновлениями

CoinGecko — Курсы криптовалют• Экономика » Финансы » Платежные средства » Платежные системы интернета » Криптовалюта с ежеминутными обновлениями

С какими источниками данных работать вы укажете в конфиге. Некоторые из них
требуют API-ключи, но для Currencyinfo с обновлением refreshInterval в 10
минут достаточно бесплатных аккаунтов. Если хотите получать курсы чаще —
смотрите тарифы соответствующих источников данных.

Пример запроса

Текущий курс:

GET http://localhost:36661/get?coin=ADM

{ "success": true, "date": 1726827454221, "result": { "ADM/USD":
0.029495299897, "ADM/RUB": 2.738651632396, "ADM/EUR• Экономика » Экономика Евросоюза » Евро

• Физико-географические регионы » Европа » Европейские валюты » Евро
": 0.026429853379,
"ADM/CNY": 0.208056836954, "ADM/JPY": 4.243900904361, "ADM/BTC": 4.64113e-7,
"ADM/ETH": 0.000011601089, "ADM/KRW": 39.384183204721 }, "last_updated":
1726827222510, "version": "4.1.0" }

Курс в момент времени:

GET http://localhost:36661/getHistory?coin=ADM&timestamp=1725185959

{ "success": true, "date": 1726827656521, "result": [ { "_id":
"66d43eb65a01993b593fed57", "date": 1725185716605, "tickers": { "ADM/KRW":
39.986732414654, "ADM/ETH": 0.000012060532, "ADM/BTC": 5.14865e-7, "ADM/JPY":
4.370208962216, "ADM/CNY": 0.212048693004, "ADM/EUR• Экономика » Экономика Евросоюза » Евро

• Физико-географические регионы » Европа » Европейские валюты » Евро
": 0.027028233555,
"ADM/RUB": 2.73320760724, "ADM/USD": 0.029895049192 } } ], "last_updated":
1726827222510, "version": "4.1.0" }

Еще больше надежности

Помимо верификации самих курсов валют• Экономика » Финансы » Платежные средства » Валютный рынок » Валютный курс

• Экономика » Макроэкономика » Валютный курс
, нам важно контролировать и доступность
API сервиса. Вот как мы это делаем:

Запустили сервис у надежного VPS-провайдера

Настроили заббикс, который проверяет состояние VPS в целом и дату последнего
обновления курсов "last_updated": 1726827222510

Настроили уведомления от Currencyinfo

Запустили не один сервис Currencyinfo, а два, и в приложениях (Мессенджер• Коммуникации » Интернет-коммуникации » Программы мгновенного обмена сообщениями
АДАМАНТ, бот• Коммуникации » Интернет-коммуникации » Программы мгновенного обмена сообщениями » Бот (в чатах)-обменник, виджеты) делаем их Health check

Автор: JustDeveloper

Источник

============= Итог: 3,8496 ; Экономика#Финансы#Платежные средства#Валютный рынок#Валютный курс 3,4047 ; Экономика#Экономика Евросоюза#Евро 2,1123 ; Экономика#Финансы#Платежные средства#Платежные системы интернета #Криптовалюта#Bitcoin 1,9844 ; Коммуникации#Интернет-коммуникации #Программы мгновенного обмена сообщениями#Бот (в чатах)

============= Объекты: организации Московская биржа


Copyright © 2007-2024 ООО «RelTeam»