0

我已经在我的网站上集成了元掩码,但我需要发送金额并使用元掩码检查 ERC 20 令牌的余额,但对我没有任何作用。我在 WEB3 上尝试了不同的编码和方法。

请向我提供执行的代码。

但是使用下面的代码我无法获得任何与 ERC20 代币相关的细节,但对我来说,ETH 工作正常。

这是我的代码:

var contractadd = "0xd26114cd6ee289accf82350c8d8487fedb8a0c07";

$.getJSON( "https://api.etherscan.io/api?module=contract&action=getabi&address="+contractadd, function( data ) {
var abivalue = (data.result);

if (typeof web3 !== "undefined") {
// Use Mist/MetaMask's provider
window.web3 = new Web3(web3.currentProvider);
} else {
alert("Metamask extension not added on your browser");return false;


}
const contract_address = contractadd;

var userAddress = '0x12A922212C20EFe9b8d5799CC67C619F9F1617b9';
var amount = 0.2;
web3.eth.getBlock('latest',function(err,getBlock) {

web3.eth.getGasPrice(function(err, getGasPrice) {

web3.eth.getAccounts(function(err, accounts){

if (err != null) {
console.log(err)
}
else if (accounts.length === 0) {
alert("Your metamask account is locked please unlock");return false;
}
else {



var contractAddress  =  contractadd;
var FromAddress = accounts[0];

var ToAddress = "hghfghfg";

var Amount = 0.5;
var Key = "";
var Amount=Amount*1000000000000000000;
const abi =JSON.parse(abivalue);
let contract = web3.eth.contract(abi).at(contractAddress);

contract.balanceOf(FromAddress, (error, balance) => {

contract.decimals((error, decimals) => {

alert(balance);
console.log(balance.toString());
});
});
}

});
});

})
});
4

1 回答 1

0

您必须传递这样的参数:

contract.balanceOf(address,{},function (err, transactionHash){
        console.log(transactionHash);
        window.alert(transactionHash)
    });

您在代码中错过了空的 {}。

于 2018-10-04T08:08:51.703 回答