Как прослушать web-контракт Metamask "подтвердить"/"отменить" в контракте?
Поскольку метамаска внедряет web3, следует https://github.com/ethereum/wiki/wiki/JavaScript-API
Но, похоже, нет кода для отлова события нажатия кнопки подтверждения / отмены (см. Ниже) при вызове contract.new()
Есть ли способ поймать событие? Благодарю.
2 ответа
Сам нашел ответ
Если пользователь нажал кнопку "Отмена", переменная "ProcessingContract" ниже будет неопределенной. Если подтверждено, это будет контракт, и если у него есть адрес ( processingContract.address), то он добывается.
newContract.new({...}, function(e, processedContract) {...});
Чтобы обработать ответ Confirm/Cancel пользователя на функции вашего контракта, вы можете использовать событие transactionHash и событие error из функции отправки.
"transactionHash" возвращает transactionHash: String: Запускается, когда доступен хэш транзакции.
"error" возвращает ошибку: Ошибка: Запускается, если во время отправки возникает ошибка. Если транзакция была отклонена сетью с квитанцией, квитанция будет доступна как свойство объекта ошибки.
Вы можете увидеть детали здесь.
Когда вы нажимаете кнопку « Подтвердить » , вы можете обработать этот случай в событии transactionHash .
Когда вы нажимаете кнопку « Отмена » , вы можете обработать этот случай в событии ошибки .