Для веб-приложения я сохранил идентификатор транзакции действия. если пользователь повторит транзакцию с более высокой ценой газа в метамаске (в случае, если транзакция займет слишком много времени, метамаска дает эту опцию), есть ли возможность заменить текущий идентификатор транзакции, который я сохранил, новым. как можно обнаружить эту повторную попытку. есть ли какой-нибудь метод web3 для этого?
Если вы хотите, чтобы была выполнена та же транзакция, но только с более высокой ценой газа, вам не нужно заменять идентификатор транзакции, поскольку он не меняется.
Вызов функции в вашем интерфейсе с web3.js
вами будет использовать этот фрагмент кода
function functionYouWantToCall() {
web3.eth.getAccounts(function(error, result) {
web3.eth.sendTransaction(
{from:web3.eth.accounts[0],
to: YourContractAddress,
value: "0",
data: "0xTheHashOfTheFuctionYouWantToCall"
}, function(err, result) {
if (!err)
console.log(error);
});
});
}
Чтобы найти информацию, которую вы должны поместить в поле данных, перейдите в Remix, а затем на вкладке «Выполнение» выберите детали, прокрутите вниз до хэшей функций и выберите вставить хеш функции, которую вы хотите вызвать перед ней 0x
. Также не забудьте ввести свой собственный адрес контракта в поле адреса контракта.
Акаша
JAG
Акаша
JAG