Ich bin der Anfänger in Sachen Ethereum, brauche Anleitung, bitte helft mir, ich betreibe ein privates Ethereum-Netzwerk und benutze Mist Wallet, hier ist mein Vertragscode
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;
}
}
Der Zählerwert änderte sich nicht, als ich auf „Ausführen“ drücke, oderincrement
der Wert des Funktionszählers änderte sich nach vielen Versuchen nicht. Ich erhielt diese decrement
Fehlermeldung TransaktionError from sendSignedTransaction: Error: Returned error: replacement transaction underpriced
web3.eth.pendingTransactions();
[{
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
}]
also habe ich die Ankündigung web3.eth.getTransactionCount("0x4f7f384236f79a5e3322e33cc7bb2ccd5143a87c")+1 erhöht; 11
Danach versuche ich erneut, die Transaktion auszuführen, bekomme aber erneut diese Nachrichten
Nonces sind 0 indiziert, Transaktionen werden ab 1 indiziert . Dieser Beitrag hier erwähnt:
Anscheinend gibt es eine Nuance mit der Nonce ... mein Fehler war, dass ich die Nonce auf web3.eth.getTransactionCount() + 1 gesetzt habe, was eine Lücke zwischen der Nonce der vorherigen Transaktion und der Nonce der nächsten Transaktion hinterlassen hat (Nonces sind 0 indiziert, Transaktionen sind indiziert von 1, das ist die Wurzel des Fehlers). Es scheint also, dass Sie die Nonce nicht um 2 erhöhen und eine Lücke lassen dürfen. Muss sequentiell sein.
Angeforderte Anweisungen: Sie müssen den Nonce-Wert der ersten von Ihnen ausgelösten Transaktion ermitteln.
var firstNonce = web3.eth.getTransactionCount(yourSender);.
Der Beitrag, den ich oben und hier verlinkt habe, zeigt, wie man Nonce manuell setzt (und ein häufiger Fehler, der getTransactionCount
bereits einen Wert zurückgibt, der um eins höher als der Nonce ist, und der Grund für meine Antwort war)
geschwätzt
Vignesh Karthikeyan