Кто оплачивает комиссию за транзакцию? Плательщик или получатель ETH?

Когда мы звоним address.transfer()или address.send()переводим ETH, кто должен платить комиссию за транзакцию? Payerили Recipientиз ETH? И есть ли возможность выбрать плательщика feeили gas?

Обновление:

Примечание 1: Согласно этой странице :

если бы Боб (плательщик) совершал внутрисетевую транзакцию для каждого твита, 20% дохода Алисы (получателя) было бы съедено комиссиями.

Это означает, что это recipientкто должен платить комиссию за транзакцию, не так ли?

Примечание 2: Согласно этой странице :

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

Это означает, что именно он recipientдолжен платить комиссию за транзакцию. И есть ли преимущество , если получатель платит комиссию за транзакцию?

Что мы можем заключить?

Ответы (2)

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

Ответ на правки:

Я думаю, что примечание 1 просто не является строгим. Я думаю, что автор имел в виду, что вне зависимости от того, кто платит, кто-то платит 20% дохода Алисы.

В примечании 2 упоминается другой шаблон проектирования, который позволяет обойти эту проблему, но требует дополнительной настройки.

Спасибо. Я обновил свой вопрос и добавил два примечания. Результат изменился? Спасибо
Спасибо. Просто когда вы говорите, что второе примечание «обходит» эту проблему, вы имеете в виду, что оплата комиссии за транзакцию «плательщиком» является проблемой, и было бы лучше, чтобы «получатель» платил комиссию за транзакцию? Еще раз спасибо.
Это действительно зависит от конкретного случая. Во многих случаях плата за транзакцию плательщиком удобна и, вероятно, имеет смысл. В некоторых случаях это не так, но вам нужно идентифицировать такие ситуации по мере их возникновения.

wtk ответ правильный, вот более подробная информация о комиссии Eth

Когда вы переводите криптовалюту с одного адреса на другой, вам необходимо заплатить комиссию за перевод. С крипто-монетами, такими как Биткойн, комиссия выплачивается в зависимости от количества данных, которые необходимо включить в блок для проведения транзакции. Это единая плата за килобайт данных, которые вы контролируете. Увеличение комиссии может привести к более быстрому включению в блок и более быстрой обработке вашей транзакции для включения в блокчейн, а монеты переместятся на новый адрес. Уменьшение комиссии по сравнению с рекомендуемой суммой обычно приводит к увеличению времени подтверждения, но если комиссия слишком мала, ваш перевод может вообще не состояться.

С Ethereum (ETH) все работает немного по-другому, хотя общий принцип оплаты комиссии за транзакции почти такой же. Когда вы отправляете Ethereum, переводите токены, взаимодействуете со смарт-контрактами и так далее, вам необходимо заплатить комиссию в газе, хотя фактическая комиссия в любом случае выплачивается в ETH. С Ethereum вы всегда платите комиссию, даже если ваше взаимодействие с блокчейном не удалось или оно было успешным. Вот пример, если вы отправите несколько монет Ethereum на смарт-контракт и сделаете это с недостаточным количеством газа, монеты не будут отправлены, но вам все равно придется заплатить комиссию, и она будет вычтена из вашего баланса. Для сравнения, с биткойнами неудачная транзакция не приведет к тому, что вы все равно будете платить комиссию за транзакцию.