Ich erhalte Folgendes, das von meinem Private-Chain-Geth-Knoten protokolliert wird, wenn ich einen Test in Trüffel ausführe:
removed tx (
TX(ff8ec4f713e64fb25df07d153607e29629c9276b57e0b7e331f17b5a3c31fdd1)
Contract: false
From: d90b704c738b49ff50741bd887334e49d8f277f1
To: [contract creation]
Nonce: 520
GasPrice: 18000000010
GasLimit 3200000
Value: 0
Data: 0x606060405..........
V: 0x1b
R: 0x5b......
S: 0xe09017.......
Hex: f901c3.......
) from pool: low tx nonce or out of funds
Der Testcode lautet wie folgt:
contract('MyContract', function (accounts) {
it("should be able to set a value", function (done) {
var myContract = MyContract.deployed();
myContract.setValue("aStringValue", 2, {from: accounts[0],gas: 3200000, gasPrice: 18000000010}).then(
function (tx_id) {
return zone.isValueSet.call("aStringValue");
}).then(
function (_bool) {
assert.isTrue(_bool, "value not set");
done();
}).catch(done);
});
});
Ich habe bestätigt, dass der GasPrice und das GasLimit die im Test bereitgestellten Werte widerspiegeln und dass die Bereitstellung in einem Objekt als letztes Argument für die Vertragsfunktion korrekt ist.
Es gibt genügend Guthaben auf den Konten[0], daher weiß ich nicht, warum dies geschieht.
Die low tx nonce or out of funds
Fehlermeldung bedeutet, dass Sie entweder nicht über genügend Guthaben verfügen, um den gesamten von Ihnen angegebenen Gasbedarf (z. B. Gaslimit * Gaspreis) zu decken; oder dass die Nonce, mit der Sie die Transaktion senden, niedriger ist als die, die bereits von Ihrem sendenden Konto verwendet wird.
Protokollieren Sie möglicherweise alle Transaktionen, die Sie ausgeben, und prüfen Sie, ob Truffle aus irgendeinem Grund mehrere Transaktionen mit derselben Nonce erstellt. Das könnte die Probleme erklären, die Sie sehen.
Unterbrechung