Платёжный запрос EIP-681

Также называют: URI ethereum:, платёжный URI Ethereum, ERC-681

Определение

EIP-681 — это предложение для Ethereum, определяющее URI ethereum: для платёжных запросов; он несёт адрес получателя, необязательный идентификатор цепочки, сумму или перевод токенов, и его часто показывают в виде QR-кода.

Что определяет EIP-681

EIP-681 — это Ethereum Improvement Proposal, опубликованное в репозитории EIP, которое описывает формат URI для просьбы отправить эфир или вызвать функцию контракта. URI начинается с ethereum:, за которым идут целевой адрес, необязательные @ и идентификатор цепочки, необязательное имя функции и параметры запроса. Кошелёк, отсканировавший такой код, может собрать транзакцию для проверки пользователем.

Простой запрос эфира выглядит как ethereum:0x...@1?value=1e18. Значение задано в wei — наименьшей единице эфира, и допускается экспоненциальная запись, поэтому 1e18 означает один эфир. Идентификатор цепочки сообщает кошельку, какая сеть имеется в виду, например 1 для основной сети Ethereum.

Переводы токенов

EIP-681 может также описывать вызов контракта токена. Для перевода токенов целевой адрес — это контракт токена, функция — transfer, а параметры задают получателя и сумму, как в ethereum:0xTokenContract@1/transfer?address=0xRecipient&uint256=1e6. Сумма указывается в наименьшей единице токена, которая зависит от числа десятичных знаков токена.

Поддержка полного формата в кошельках различается. Одни кошельки читают только адрес, а другие игнорируют идентификатор цепочки или вызов функции, поэтому код стоит проверить в кошельках, которыми пользуются ваши плательщики. Плательщик всегда должен проверять сеть, токен и получателя перед подтверждением.

Частые вопросы

В какой единице указан value в платёжной ссылке ethereum:?

Параметр value указывается в wei — наименьшей единице эфира. Один эфир равен 1e18 wei.

Может ли QR-код EIP-681 запрашивать токен вместо эфира?

Да. Он может указывать на контракт токена с функцией transfer, а получателя и сумму передавать параметрами.

Почему в криптовалютном QR-коде важен идентификатор цепочки?

Один и тот же адрес может существовать в нескольких сетях, поэтому идентификатор цепочки сообщает кошельку, для какой сети предназначен платёж.

Источники и стандарты

Все термины