У меня есть некоторый код, который взаимодействует с существующим умным контрактом на Ropsten.Я запускал его несколько раз в прошлом, и у меня не было проблем.
Я опубликую полный код и две ошибки, которые я получу, когда попробую внести некоторые изменения в код.
var Tx = require("ethereumjs-tx");
const Web3 = require("web3");
const web3 = new Web3(
"https://ropsten.infura.io/v3/d55489f8ea264a1484c293b05ed7eb85"
);
const abi = [...];
const contractAddress = "0x15E1ff7d97CB0D7C054D19bCF579e3147FC9009b";
const myAccount = "0x59f568176e21EF86017EfED3660625F4397A2ecE";
const privateKey1 = new Buffer(
"__PrivateKey__",
"hex"
);
hashValue = "newly updated value";
const contract = new web3.eth.Contract(abi, contractAddress, {
from: myAccount
});
web3.eth.getTransactionCount(myAccount, (err, txCount) => {
//Smart contract data
const data = contract.methods.setHashValue(hashValue).encodeABI();
// Build the transaction
const txObject = {
nonce: web3.utils.toHex(txCount),
gasLimit: web3.utils.toHex(1000000),
gasPrice: 100000,
data: data,
from: myAccount,
to: contractAddress
};
// Sign the transaction
const tx = new Tx(txObject);
tx.sign(privateKey1);
const serializedTx = tx.serialize();
// Broadcast the transaction
web3.eth
.sendSignedTransaction("0x" + serializedTx.toString("hex"))
.on("receipt", console.log);
});
Если я разверну этот код, он создаст транзакцию, которая останетсяв ожидании бесконечно.
Если я запускаю его снова, я получаю Returned error: replacement transaction underpriced
.
Если я изменяю код для добавления в одноразовый номер, как это nonce: web3.utils.toHex(txCount + 1)
Мне возвращается ошибка, что это известная транзакция (ожидающая транзакция).
Очень расстраивает то, что этот код работал отлично несколько дней назад!
Мне интересно, возможно, я случайно изменил свой модуль Web3 ... и изменение версиисломал что-то.Или есть проблема с Ropsten?Прошлой ночью он не показывал никаких блоков или сделок.
1017 * Две ожидающие транзакции 1019 * 0xc57316782bb34608b16c7f5ebd1cfb4404a0c8f1b0d5b3e6db6a2f973c527bc3 1021 * 0xe0d4c513c03c3dba5e853ac0511ee6cf06be6728ba0e054b703cdc49086aa5f7 1023 * Спасибо!