Я получаю следующее, зарегистрированное моим узлом geth приватной цепи при запуске теста в трюфеле:
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
Код теста выглядит следующим образом:
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);
});
});
Я подтвердил, что GasPrice и GasLimit отражают значения, предоставленные в тесте, и что предоставление их в объекте в качестве последнего аргумента функции контракта является правильным.
На счетах [0] достаточно средств, поэтому я не знаю, почему это происходит.
Сообщение low tx nonce or out of funds
об ошибке означает, что либо у вас недостаточно средств для покрытия всех указанных вами потребностей в газе (т. е. лимит газа * цена газа); или что одноразовый номер, с которым вы отправляете транзакцию, меньше, чем тот, который уже используется вашей отправляющей учетной записью.
Возможно, зарегистрируйте все транзакции, которые вы выдаете, и проверьте, не создает ли трюфель по какой-то причине несколько транзакций с одним и тем же одноразовым номером. Это может объяснить проблемы, которые вы видите.
межевание