Как прослушать 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 .

Когда вы нажимаете кнопку « Отмена » , вы можете обработать этот случай в событии ошибки .

Другие вопросы по тегам