Soy un principiante en cosas de Ethereum. Necesito orientación. Por favor, ayuda. Estoy ejecutando una red privada de Ethereum y uso una billetera de niebla. Aquí está mi código de contrato.
pragma solidity ^0.4.0;
contract MyFirstContract {
uint256 counter =0;
function increase() public {
counter++;
}
function decrease() public{
counter--;
}
function getCounter() public constant returns (uint256) {
return counter;
}
}
el valor del contador no estaba cambiando cuando presioné ejecutar increment
o decrement
función el valor del contador no estaba cambiando después de muchos intentos recibí este mensaje de error Recibo el mensaje de error " Error from sendSignedTransaction: Error: Returned error: replacement transaction underpriced
"después de investigar un poco descubrí este error de respuesta: transacción de reemplazo subvaluada Tengo una pendiente transacción
web3.eth.transacciones pendientes();
[{
blockHash: null,
blockNumber: null,
from: "0x4f7f384236f79a5e3322e33cc7bb2ccd5143a87c",
gas: 188189,
gasPrice: 18000000000,
hash: "0x193d30297d98ad9da5958e6295d61bf333050cec901601ccdbf83e9c0b1cb082",
input: "0x60806040526000805534801561001457600080fd5b5060ea806100236000396000f30060806040526004361060525763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313bdfacd81146057578063d732d95514607b578063e8927fbc14608f575b600080fd5b348015606257600080fd5b50606960a1565b60408051918252519081900360200190f35b348015608657600080fd5b50608d60a7565b005b348015609a57600080fd5b50608d60b3565b60005490565b60008054600019019055565b6000805460010190555600a165627a7a7230582094d5704152e41ee1cb7ab5b820a49845ec5652e2c9c442a8d55da756f6d5cda60029",
nonce: 10,
r: "0x34fa67311a0a29d31139a425c2ab120033d4ab34a6d1a860d6c806f95412f7af",
s: "0x7d831f773e541f73a2371be911ec29b36d803db414ab4712007c4b00d4f10be9",
to: null,
transactionIndex: 0,
v: "0x1b",
value: 0
}]
así que aumenté el anuncio web3.eth.getTransactionCount("0x4f7f384236f79a5e3322e33cc7bb2ccd5143a87c")+1; 11
después de eso, nuevamente intento ejecutar la transacción pero nuevamente obtengo estos mensajes
Los nonces están indexados a 0, las transacciones están indexadas a partir de 1 . Esta publicación aquí menciona:
Aparentemente hay un matiz con el nonce... mi error fue que estaba configurando el nonce en web3.eth.getTransactionCount() + 1, lo que dejó una brecha entre el nonce de la transacción anterior y el nonce de la siguiente transacción (los nonce están indexados en 0, las transacciones están indexadas de 1, esa es la raíz del error). Parece que no se le permite incrementar el nonce en 2 y dejar un espacio. Debe ser secuencial.
Instrucciones solicitadas: debe averiguar el valor de nonce de la primera transacción que realiza.
var firstNonce = web3.eth.getTransactionCount(yourSender);.
La publicación que vinculé arriba y aquí muestra cómo configurar el nonce manualmente (y un error común, que getTransactionCount
ya devuelve un valor uno más alto que el nonce y fue el motivo de mi respuesta)
swaheed
Vignesh Karthikeyan