Обратите внимание, что для корректной работы данного модуля на сервере должно быть установлено расширение ICU, версия не ниже 4.9.
Для того чтобы добавить новую криптовалюту в модуль необходимо создать класс и в нем реализовать интерфейс common\modules\crypto\contracts\ClientInterface
, после чего необходимо добавить запись в таблицу {{%crypto_currency}}
с информацией о криптовалюте:
Пример добавления записи о криптовалюте через миграцию
$this->insert('{{%crypto_currency}}', [
'symbol' => 'ETH',
'name' => 'Ethereum',
'clientClass' => 'common\modules\crypto\business\ethereum\Client',
'updated_at' => time()
]);
В качестве примера для реализации класса клиента криптовалюты можно использовать класс клиента Ethereum, который уже реализован в модуле common\modules\crypto\business\ethereum\Client
.
Клиент криптовалюты Ethereum использует следующие расширения для работы:
Помимо реализации класса клиента криптовалюты необходимо настроить и запустить клиент криптовалюты на сервере. Как это сделать лучше смотреть в документации конкретной криптовалюты.
Курс криптовалюты хранится относительно фиатной валюты выбранной по умолчанию. Для того чтобы курс корректно обновлялся необходимо реализовать интерфейс common\modules\crypto\contracts\CurrencyDefaultInterface
. Класс реализующий данный интерфейс должен быть унаследован он yii\db\ActiveRecord
.
В модуле уже доступно два сервиса для обновления курсов криптовалют:
Для добавления сервиса необходимо реализовать интерфейс common\modules\crypto\contracts\RateApiInterface
и заменить класс указанный в конфигурации common/modules/crypto/config/common.php
в DI контейнере своим
'container' => [
'definitions' => [
'common\modules\crypto\contracts\RateApiInterface' => 'common\modules\crypto\business\rate\Bitfinex',
],
],
Настроить фаервол на сервере таким образом чтобы он блокировал все соединения по порту 8090 (порт RPC API ноды), кроме локальных обращени.
Для того, чтобы мы смогли Вам предоставить доступ расскажите немного о себе
Опишите в форме ниже задачу, которую требуется реализовать.