/** executes contract method by creating transaction
* @param {string} from - payer address
* @param {string} to - payee address
* @param {int} amount - number of tokens
* @param {string} type - transaction type
*/
web3.eth.getGasPrice().then(gasPrice => {
gasPrice *= 2;
gasPrice = Math.floor(gasPrice);
var data = myContract.methods.transfer(receiverAddress).encodeABI();
var nonceValue = 0;
web3.eth.getTransactionCount(hostAddress).then(function(res){
nonceValue = res;
console.log('nonce' , 'nonce = ' + nonceValue);
})
var rawTx = {
nonce: '0x20',
gasLimit: web3.utils.toHex(99000),
gasPrice: web3.utils.toHex(gasPrice),
value: '0x00',
from:hostAddress,
to:contractAddress,
data: data,
chainId: 3
}
var tx = new Tx(rawTx);
tx.sign(hexPrivateKey);
var serializedTx = tx.serialize();
console.log("start sendSignedTransaction");
console.log("serializedTx", serializedTx.toString('hex'));
var transaction = web3.eth.sendSignedTransaction('0x' + serializedTx.toString('hex'));
transaction.on('confirmation', (confirmationNumber, receipt) => {
console.log('confirmation', confirmationNumber);
res.render('index', { title:"confirmation" + confirmationNumber});
});
transaction.on('transactionHash', hash => {
console.log('transaction hash', hash);
res.render('index', { title:"transaction hash" + hash});
});
transaction.on('receipt', receipt => {
console.log('transaction reciept', receipt);
res.json({ receipt });
res.render('index', { title:"transaction reciept "+receipt });
});
transaction.on('error', error => {
console.log('transaction error', error);
res.render('index', { title:console.error });
});
});
даже когда я поднимаю цену на газ и переключаю тестовую сеть на ropsten / rinkeby , для ответа об ошибке всегда требуется подтверждение подтверждения правильности отправки транзакции.Может ли кто-нибудь помочь мне, где я ошибаюсь?
Ошибка транзакции Ошибка: транзакция не была добыта в течение 750 секунд, пожалуйста, убедитесь, что ваша транзакция была отправлена правильно.Знайте, что это все еще может быть добыто!