var desc = '0xed32e0fd016810B7d3606e1Ae163B58266c544B0';
var from = '0x6938298963357122F72592ADD77109767c7d67F0';
var key = '9cb.............2a84';
var val = '0.01';
var tx = {
to: desc,
from: from,
gasLimit: 200000,
nonce: wsp.now(), // микротайм
value: w3.utils.toWei(val, 'ether'),
data: '0x00'
};
// tx Object {
// data "0x00"
// from "0x6938298963357122F72592ADD77109767c7d67F0"
// gasLimit 200000
// gasPrice 2200000000
// nonce 1532438682638
// to "0xed32e0fd016810B7d3606e1Ae163B58266c544B0"
// value "10000000000000000"
// }
w3.eth.getBalance(tx.from).then((balance) => {
logger.log('Balance: ', balance);
});
// balance "79000000000000000"
w3.eth.accounts.signTransaction(tx, key).then((hash) => {
// tx Object {
// chainId "0x1"
// data "0x00"
// from "0x6938298963357122f72592add77109767c7d67f0"
// gas "0x30d40"
// gasLimit 200000
// gasPrice "0xa3e9ab80"
// nonce "0x164cc7fb39b"
// to "0xed32e0fd016810b7d3606e1ae163b58266c544b0"
// value "0x2386f26fc10000"
// }
// hash Object {
// messageHash "0x5d113c4a6...44d8efb8aacb90"
// r "0x97adcecb7...ed3b55b7b0f216"
// rawTransaction "0xf87186016...de14043fc15934"
// s "0x7e501c806...de14043fc15934"
// v "0x26"
// }
return w3.eth.sendSignedTransaction(hash.rawTransaction).then((receipt) => {
return receipt;
}, (error) => {
// Error: Returned error: insufficient funds for gas * price + value
console.log(error);
return error;
});
}, (error) => {
console.log(error);
return error;
});
Абсолютно непонятно, с чего такая ошибка, тут банальная математика:
10000000000000000 - вывод
440000000000000 = 200000 * 2200000000 - лимит * прайс
-----------------
79000000000000000 - баланс
10440000000000000 - всего нужно
-----------------
68560000000000000 - остаток