Мерчант ETH ERC20
Настройка модуля
Перейдите в раздел 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)
npm run setting-set merchant:eth_erc_20:fromBlock 123 force
Вместо 123 установите свой номер блока.
Как работает мерчант ETH ERC20?
Под каждую заявку получаем адрес 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 для оплаты транзакции
Last updated
Was this helpful?