Мерчант ETH ERC20
Last updated
Last updated
RPC parity: Для работы модуля у вас должна быть установлена нода и синхронизирована с сетью Ethereum. https://github.com/openethereum/parity-ethereum
Перейдите в раздел Merchant & API -> Merchant system
Перейдите к настройки модуля Ethereum ERC20 Token
Заполните раздел Config в данном модуле: RPC node URL (parity) - URL к вашей BSC RPC ноде Wait confirms blocks - Количество подтверждений необходимых для подтверждения оплаты Gas price (in gwei) - цена за транзакцию (gas price) (транзакции по слиянию приятых средств на мастер адрес) Contract address - Адрес контракта который принимаем с помощью этого модуля Contract ABI - ABI json контракта получить его можно в сканере https://etherscan.io/ нужно перейти в адрес контракта Contract -> Code -> Contract ABI Collect token when amount greater than or equal (>=) - минимальное количество токенов полученных на кошелек (адрес выдается повторно через 2 дня после создания заявки) Master address - Адрес на который собирать ваши средства с адресов которые были выданы для обмена PrivateKey service account - Приватный ключ от адреса который отвечает за сбор средств с него происходит оплата комиссии сети (в целях безопасности рекомендуем использовать другой кошелек отличающийся от Master address) создать кошелек
Для установки блока с которого нужно начинать синхронизировать платежи необходимо выполнить команду в папке exchange-api: (рекомендуем предварительно остановить сервис api-http)
Вместо 123 установите свой номер блока.
Под каждую заявку получаем адрес ETH он будет заморожен под этой заявкой 2 дня через 2 дня он может быть использован повторно под другую заявку. (срок заморозки можно изменить в самом модуле)
Далее клиент оплачивает средства и мы отмечаем заявку оплаченной
Производим сбор средств на Master address который указан в настройках модуля для этого производятся следующие действия:
1) Проверяем адрес сколько токенов на нем сейчас сумма должена быть больше или
равна сумме которая настроена в модуле "Collect token when amount..."
2) Проверяем есть ли доступ на перевод с нашего сервисного аккаунта (PrivateKey
service account) если нет то даем это разрешение путем переводим необходимое
количество ETH на адресс с которого будет вызова функция
approve(:serviceAddress,totalSupply)
будтьте внимательны контролируйте
баланс ETH у вашего service account вызов этих функций платный в сети ETH
3) После того как мы проверили что у нас есть разрешение на перевод совершаем
перевод средств на наш Master address владелец транзакции будет service account
также контролируйте чтоб было достаточно ETH для оплаты транзакции