Невозможно получить баланс метамаски и отправить сумму через расширение метамаски, используя javascript (web3) - PullRequest
0 голосов
/ 03 октября 2018

Я встроил метамаску на свой сайт, но мне нужно отправить сумму, а также проверить баланс на токене 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());
});
});
}

});
});

})
});

1 Ответ

0 голосов
/ 04 октября 2018

Вы должны передать следующие аргументы:

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

вы пропустили пустой {} в своем коде.

...