Да, это может быть проблематично c, так как он будет использовать много газа и даже достигнет предела. Для решения этой проблемы лучше разрешить пользователям самим снимать баланс, чтобы они платили за газ. Или на самом деле вы можете позволить любому сделать этот звонок. Таким образом, вы можете предложить звонок refund(account:uint256)
, который переводит остаток (если есть) на указанный счет. Обратите внимание, что это не будет использовать msg.sender
, так что любой (включая администратора) может сделать эту передачу.
Имейте в виду, что они должны знать, что у них есть баланс, поэтому убедитесь, что вы излучаете событие или подобное. Также предоставьте balanceOf(address)
звонок, чтобы они могли проверить.
Надеюсь, что это имеет смысл и работает для вас.