Мерчант ETH ERC20

RPC parity: Для работы модуля у вас должна быть установлена нода и синхронизирована с сетью Ethereum. https://github.com/openethereum/parity-ethereum

Настройка модуля

  1. Перейдите в раздел Merchant & API -> Merchant system

  2. Перейдите к настройки модуля Ethereum ERC20 Token

  3. Заполните раздел 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?

  1. Под каждую заявку получаем адрес ETH он будет заморожен под этой заявкой 2 дня через 2 дня он может быть использован повторно под другую заявку. (срок заморозки можно изменить в самом модуле)

  2. Далее клиент оплачивает средства и мы отмечаем заявку оплаченной

  3. Производим сбор средств на 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