2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > web3.js(三)查询智能合约币数量(erc20)

web3.js(三)查询智能合约币数量(erc20)

时间:2018-11-30 11:36:18

相关推荐

web3.js(三)查询智能合约币数量(erc20)

需要获取到智能合约地址+智能合约ABI

1.打开https://etherscan.io/搜索cmt,跳转到该页面,点击红色区域,跳转到智能合约地址

2.address是智能合约地址,点击Contract Source 获取ABI

3.code:调用cmt智能合约的方法balanceOf()

const Web3 = require("web3");const BigNumber = require('bignumber.js');const Ether = new BigNumber(10e+17);let web3 = new Web3(new Web3.providers.HttpProvider('/eth'));let abi = [{"constant": true,"inputs": [],"name": "name","outputs": [{"name": "", "type": "string"}],"payable": false,"stateMutability": "view","type": "function"}, {"constant": false,"inputs": [{"name": "_spender", "type": "address"}, {"name": "_value", "type": "uint256"}],"name": "approve","outputs": [{"name": "", "type": "bool"}],"payable": false,"stateMutability": "nonpayable","type": "function"}, {"constant": true,"inputs": [],"name": "totalSupply","outputs": [{"name": "", "type": "uint256"}],"payable": false,"stateMutability": "view","type": "function"}, {"constant": false,"inputs": [{"name": "_from", "type": "address"}, {"name": "_to", "type": "address"}, {"name": "_value","type": "uint256"}],"name": "transferFrom","outputs": [{"name": "", "type": "bool"}],"payable": false,"stateMutability": "nonpayable","type": "function"}, {"constant": true,"inputs": [],"name": "INITIAL_SUPPLY","outputs": [{"name": "", "type": "uint256"}],"payable": false,"stateMutability": "view","type": "function"}, {"constant": true,"inputs": [],"name": "decimals","outputs": [{"name": "", "type": "uint256"}],"payable": false,"stateMutability": "view","type": "function"}, {"constant": false,"inputs": [],"name": "unpause","outputs": [],"payable": false,"stateMutability": "nonpayable","type": "function"}, {"constant": true,"inputs": [],"name": "paused","outputs": [{"name": "", "type": "bool"}],"payable": false,"stateMutability": "view","type": "function"}, {"constant": false,"inputs": [{"name": "_spender", "type": "address"}, {"name": "_subtractedValue", "type": "uint256"}],"name": "decreaseApproval","outputs": [{"name": "success", "type": "bool"}],"payable": false,"stateMutability": "nonpayable","type": "function"}, {"constant": true,"inputs": [{"name": "_owner", "type": "address"}],"name": "balanceOf","outputs": [{"name": "balance", "type": "uint256"}],"payable": false,"stateMutability": "view","type": "function"}, {"constant": false,"inputs": [],"name": "pause","outputs": [],"payable": false,"stateMutability": "nonpayable","type": "function"}, {"constant": true,"inputs": [],"name": "owner","outputs": [{"name": "", "type": "address"}],"payable": false,"stateMutability": "view","type": "function"}, {"constant": true,"inputs": [],"name": "symbol","outputs": [{"name": "", "type": "string"}],"payable": false,"stateMutability": "view","type": "function"}, {"constant": false,"inputs": [{"name": "_to", "type": "address"}, {"name": "_value", "type": "uint256"}],"name": "transfer","outputs": [{"name": "", "type": "bool"}],"payable": false,"stateMutability": "nonpayable","type": "function"}, {"constant": false,"inputs": [{"name": "_spender", "type": "address"}, {"name": "_addedValue", "type": "uint256"}],"name": "increaseApproval","outputs": [{"name": "success", "type": "bool"}],"payable": false,"stateMutability": "nonpayable","type": "function"}, {"constant": true,"inputs": [{"name": "_owner", "type": "address"}, {"name": "_spender", "type": "address"}],"name": "allowance","outputs": [{"name": "", "type": "uint256"}],"payable": false,"stateMutability": "view","type": "function"}, {"constant": false,"inputs": [{"name": "newOwner", "type": "address"}],"name": "transferOwnership","outputs": [],"payable": false,"stateMutability": "nonpayable","type": "function"}, {"inputs": [], "payable": false, "stateMutability": "nonpayable", "type": "constructor"}, {"anonymous": false,"inputs": [],"name": "Pause","type": "event"}, {"anonymous": false, "inputs": [], "name": "Unpause", "type": "event"}, {"anonymous": false,"inputs": [{"indexed": true, "name": "previousOwner", "type": "address"}, {"indexed": true,"name": "newOwner","type": "address"}],"name": "OwnershipTransferred","type": "event"}, {"anonymous": false,"inputs": [{"indexed": true, "name": "owner", "type": "address"}, {"indexed": true,"name": "spender","type": "address"}, {"indexed": false, "name": "value", "type": "uint256"}],"name": "Approval","type": "event"}, {"anonymous": false,"inputs": [{"indexed": true, "name": "from", "type": "address"}, {"indexed": true,"name": "to","type": "address"}, {"indexed": false, "name": "value", "type": "uint256"}],"name": "Transfer","type": "event"}]let addr = '0xf85fEea2FdD81d51177F6b8F35F0e6734Ce45F5F'let metacoin = new web3.eth.Contract(abi, addr);metacoin.methods.balanceOf('0x3f5CE5FBFe3E9af3971dD833D26bA9b5C936f0bE').call().then(v => {let ret = new BigNumber(v);return parseFloat(ret.dividedBy(Ether)).toFixed(2);}).then(sum => {console.log(sum);})

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。