I have one issue, I can't send accurate custom ERC 20 token to an ether address.
Here is my custom token detail.
Balance: 0.000000000000000324 BucksTec
Decimals: 18
I sent 44 tokens to an ether address but it shows 0.000000000000000068 Tokens Transfered.
My question is how can I send accurately tokens, please need your best advice and experience.
Some code:
var web3 = new Web3(new Web3.providers.HttpProvider('https://ropsten.infura.io/xyz'));
module.exports.sendTokensTest = function(req, res){
var toAddress = req.body.toAddress;
var coins = req.body.quantity;
coins = "0x"+coins;
var fromAddress = req.body.fromAddress;
var privateKey = req.body.fromAddressPvtKey;
try{
var contractAddress = contractConfigTest.contractAddress;
var contractAbi = contractConfigTest.abiArray;
//res.send({contractAddress:contractAddress, contractAbi:contractAbi});
var myContract = new web3.eth.Contract(contractAbi, contractAddress);
myContract.options.from = fromAddress;
var transactionObject = {
from: fromAddress,
to: contractAddress,
value: '0x00',
data: myContract.methods.transfer(toAddress, coins).encodeABI(),
chainId: 3
};
web3.eth.estimateGas(transactionObject, function(err1, estimateGas){
transactionObject.gasLimit = estimateGas;
if(err1){
res.send({error:true, errorMsg:err1.message, errorFunction:'estimateGas' });
}
web3.eth.accounts.signTransaction(transactionObject, privateKey , function(err2, signed){
if(err2){
res.send({error:true, errorMsg:err2.message, errorFunction:'signTransaction'});
}
web3.eth.sendSignedTransaction(signed.rawTransaction, function(err3, txHash){
if(err3){
res.send({error:true, errorMsg:err3.message, errorFunction:'sendSignedTransaction'});
}
res.send({txHash:txHash});
});
});
});
}catch(err){
res.send({error:true, errorMsg:err.message, errorFunction:'sendTokens' });
}
}
Thanks