Курсы валют из блокчейна Waves


Универсальная обработка для получения курсов валют из блокчейна.

Блокчейн платформа Waves позволяет создавать оракулы — это посредники между внешним миром и самим блокчейном. Но его можно использовать и для получения данных в других системах — в том числе и в 1С.

Чтобы посмотреть данные в аккануте нужно обратиться к веб-адресу и получить JSON:
https://nodes.wavesnodes.com/addresses/data/3PH1JZ8K9TjKUPDu6djXVANdKneuHadz1iU

Если нужно получить конкретные данные, то нужно указать имя:
https://nodes.wavesnodes.com/addresses/data/3PH1JZ8K9TjKUPDu6djXVANdKneuHadz1iU/USD

где 3PH1JZ8K9TjKUPDu6djXVANdKneuHadz1iU — адрес сети Waves, он универсальный и может использовать как кошелек, dApps и как оракул.

Есть каталог доступных оракулов https://oracles.wavesexplorer.com/
Мной был создан оракул для получения курсов валют от ЦБ РФ. Это происходит на ежедневной основе в 22:00 по Москве. 

Все данные заливаются в специальный раздел Data у аккаунта в блокчейне. По умолчанию в разделе есть важный пять важный переменных:
1. USD — содержит курс американского доллара
2. USD_Date — содержит дату курса американского доллара
3. EUR — содержит курс евро
4. USD_Date — содержит дату курса евро
5. updateOn — дата и время последнего обновления в UTC

Данные можно всегда посмотреть через эксплорер Waves https://wavesexplorer.com/address/3PH1JZ8K9TjKUPDu6djXVANdKneuHadz1iU

Так как курсы обновляются ежедневно, то в списке транзакций можно найти курсы за прошлые даты. Главное смотреть только транзакции с типом 12 (транзакции, который заливают данные в акканут Waves) и чтобы свойство data содержало поле updateOn — показатель, что это данные по обновлению курсов.

Обработка умеет:
1. Получать последние курсы валюты USD и EUR
2. Собирать курсы по транзакциям с определенной глубиной

ВАЖНО!!! Сейчас загружаются и обновляются данные только по USD и EUR — хотите других валют, то пишите и я добавлю. 

Тестировано на версии платформы 1С 8.3.12.

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *