tratando de compilar un contrato y luego enviarlo a la red. El error actual que estoy recibiendo es
Error: transaction underpriced
Aquí está mi código para compilar rawTx. Estoy en Ropsten, y el precio de la gasolina es: 21000000000 y el gasLimit más reciente es: 4712388 (desde console.logs)
const gasPrice = web3.eth.gasPrice;
console.log(gasPrice);
const gasPriceHex = web3.toHex(gasPrice);
var glimit = web3.eth.getBlock("latest").gasLimit;
console.log(glimit);
gasLimitHex = web3.toHex(glimit);
nonce = web3.eth.getTransactionCount(account1) ;
nonceHex = web3.toHex(nonce);
var payloadData = solidityFunction.data;
var rawTx = {
nonce: nonceHex,
gasPrice: gasPriceHex,
gasLimit: gasLimitHex,
to:contractAddress,
from:account1,
value: web3.toHex(web3.toWei('.01', 'ether')),
data: payloadData
};
no necesita datos hexadecimales, web3 se encargará de eso.
var rawTx = {
nonce: web3.eth.getTransactionCount(account1),
gasPrice: web3.eth.gasPrice;,
gasLimit: web3.eth.getBlock("latest").gasLimit,
to:contractAddress,
from:account1,
value: 0.1,
data: payloadData
};
Después de obtener el nonce de alguna cuenta, debe agregar 1 como el nuevo nonce de rawTx.
>>nonce = web3.eth.getTransactionCount(account1) ;
>>nonceHex = web3.toHex(nonce);
No puedo encontrar más datos del código de "payloadData", es otra forma de equivocarme.
libertad bloqueada
gasLimit
configurado para ser el límite de gas del último bloque, no lo use. Pruebeweb3.eth.estimateGas
y configuregas
el rawTx. Además, ¿no deberíato
ser 0?el feto