39
Prefix: чтобы гарантировать, что создатель не может быть обманут в
случайного подписания действительной транзакции Ethereum, мы подставляем
подписанные данные с чем-то уникальным для нашей системы.
contractAddress: возможно, у создателя имеется более одного
экземпляра контракта, загруженного в блокчейн. В этом случае подписи могут
быть воспроизведены в других экземплярах. В качестве предотвращения этой
атаки мы также добавляем адрес контрактов к подписанному хэшу.
receiverAddress: подписывая этот адрес, создатель доказывает, что
данный адрес должен получить пожертвование.
Теперь у приемника есть подпись от создателя, которую он может
отправить в контракт, чтобы
потребовать пожертвования[5].
Если все пошло правильно, у получателя должно быть больше эфира.
const
receiverBalance
=
await web3.eth.getBalance(recieverIdentity.address);
console.dir(receiverBalance);
// '1999802840000000000'
Рисунок 4.3 – Проверка баланса
Достарыңызбен бөлісу: