Когда мы звоним address.transfer()
или address.send()
переводим ETH
, кто должен платить комиссию за транзакцию? Payer
или Recipient
из ETH
? И есть ли возможность выбрать плательщика fee
или gas
?
Обновление:
Примечание 1: Согласно этой странице :
если бы Боб (плательщик) совершал внутрисетевую транзакцию для каждого твита, 20% дохода Алисы (получателя) было бы съедено комиссиями.
Это означает, что это recipient
кто должен платить комиссию за транзакцию, не так ли?
Примечание 2: Согласно этой странице :
Вместо того, чтобы самому вызывать функцию для инициирования платежа, я позволю получателю платежа сделать это и, следовательно, заплачу комиссию за транзакцию.
Это означает, что именно он recipient
должен платить комиссию за транзакцию. И есть ли преимущество , если получатель платит комиссию за транзакцию?
Что мы можем заключить?
Плательщик сделки оплачивает стоимость газа. В настоящее время нет возможности заставить получателя платить за эфир. Вы можете сделать оценку газа и вычесть количество эфира, которое получатель получит вручную с вашей стороны, но платящему аккаунту все равно необходимо заплатить за газ вперед.
Ответ на правки:
Я думаю, что примечание 1 просто не является строгим. Я думаю, что автор имел в виду, что вне зависимости от того, кто платит, кто-то платит 20% дохода Алисы.
В примечании 2 упоминается другой шаблон проектирования, который позволяет обойти эту проблему, но требует дополнительной настройки.
wtk ответ правильный, вот более подробная информация о комиссии Eth
Когда вы переводите криптовалюту с одного адреса на другой, вам необходимо заплатить комиссию за перевод. С крипто-монетами, такими как Биткойн, комиссия выплачивается в зависимости от количества данных, которые необходимо включить в блок для проведения транзакции. Это единая плата за килобайт данных, которые вы контролируете. Увеличение комиссии может привести к более быстрому включению в блок и более быстрой обработке вашей транзакции для включения в блокчейн, а монеты переместятся на новый адрес. Уменьшение комиссии по сравнению с рекомендуемой суммой обычно приводит к увеличению времени подтверждения, но если комиссия слишком мала, ваш перевод может вообще не состояться.
С Ethereum (ETH) все работает немного по-другому, хотя общий принцип оплаты комиссии за транзакции почти такой же. Когда вы отправляете Ethereum, переводите токены, взаимодействуете со смарт-контрактами и так далее, вам необходимо заплатить комиссию в газе, хотя фактическая комиссия в любом случае выплачивается в ETH. С Ethereum вы всегда платите комиссию, даже если ваше взаимодействие с блокчейном не удалось или оно было успешным. Вот пример, если вы отправите несколько монет Ethereum на смарт-контракт и сделаете это с недостаточным количеством газа, монеты не будут отправлены, но вам все равно придется заплатить комиссию, и она будет вычтена из вашего баланса. Для сравнения, с биткойнами неудачная транзакция не приведет к тому, что вы все равно будете платить комиссию за транзакцию.
Спрашивающий
Спрашивающий
wtk219