需要获取到智能合约地址+智能合约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('https://api.myetherapi.com/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);
})

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

  1. 使用ethers.js部署Solidity智能合约

        ethers.js是一个非常精简的以太坊操作库,它包含如下四个模块:         Ethers.provider         Ethers.contract         Ether ...

  2. web3j采用call方式查询智能合约执行结果

    以太坊在调用智能合约中的函数时,即使交易成功发布到区块链上,但是如果合约参数检查出错,交易执行会失败,这个时候调用端仍然能够查询到交易被打包,但是交易执行结果跟期望的会不相符. 假设一个智能合约中有一 ...

  3. DAPP开发(三)——智能合约开发

    智能合约 Remix IDE 是开发以太坊智能合约的在线IDE工具,部署简单的智能合约非常方便. http://remix.ethereum.org truffle 一个世界级的智能合约开发框架,专为 ...

  4. 使用ethers.js直接读取智能合约中插槽内容

    我在上一篇<代理/实现模式下合约插槽索引计算>中的最后,提到了一个合约示例,(BSC 区块链,地址为:0x4BfE9489937d6C0d7cD6911F1102c25c7CBc1B5A) ...

  5. 雲禾遗密:Web3js调用智能合约查看某账户ERC20代币数量

    知识点: 1..then() js中then()的用法_spider_man-CSDN博客_js then 2.let和var var和let的区别 - 知乎 3.箭头函数 js中 => 的含义 ...

  6. 智能合约 web3.js ABI Address三者的关系

    web3.js是以太坊提供的一个Javascript库,它封装了以太坊的JSON RPC API,提供了一系列与区块链交互的Javascript对象和函数,包括查看网络状态,查看本地账户.查看交易和区 ...

  7. Foundry教程:ERC-20代币智能合约从编写到部署全流程开发

    概述 如果你想获得更好的阅读体验,请前往我的博客 本博客的内容主要分为以下四部分: 一是Foundry的介绍与安装,主要介绍为什么选择Foundry进行智能合约开发和安装过程中的各种官方文档中未提及的 ...

  8. 使用 Web3.js 连接以太坊节点并查询区块链数据

    Web3.js 是一个用于连接以太坊网络的 JavaScript 库.在本文中,我们将介绍如何使用 Web3.js 来连接以太坊节点,并且查询以太坊区块链上的数据. 1. 安装 Web3.js 首先, ...

  9. 721合约 erc eth_深入了解「智能合约」及主流平台「智能合约」的查询方法

    智能合约(Smart Contract)指的是由计算机处理的可执行合约条款的交易协议,智能合约会严格遵循合约约定,自动执行.借助于区块链公开透明.不可逆.不可篡改.可追溯等特点,智能合约得以在区块链技 ...

最新文章

  1. U盘安装MacOS Sierra系统方法
  2. python PIL/Pillow图像扩展、复制、粘贴处理
  3. GDT(全局描述符表)和LDT(局部描述符表)
  4. 我家的漫路超市——怎么开淘宝网店
  5. ubuntu之使用sublime text3搭建Python IDE
  6. Leetcode400Nth Digit第N个数字
  7. python高级应用程序课程设计_Python高级应用程序设计任务
  8. 三星S10+顶配版现身GeekBench:搭载Exynos 9820处理器
  9. coreboot学习10:coreboot第一阶段学习小结
  10. ORA-12541:TNS: 没有监听器.解决方法!
  11. 深度学习花书-4.4 约束优化
  12. CATIA V5-6 R2017 轴类零件设计
  13. Vmware Tools安装详细步骤
  14. 如何利用python计算即期利率_QuantLib 金融计算——案例之固息债的价格、久期、凸性和 BPS...
  15. java计算机毕业设计高校学生综合素质测评系统MyBatis+系统+LW文档+源码+调试部署
  16. 汽车FMCW毫米波雷达信号处理流程
  17. Sqlserver中的日期类型值不能小于1753年
  18. 更改计算机网络密码,宽带密码修改后断网,怎样修改路由器密码
  19. 性能测试能力提升-线程、并发、吞吐量、TPS、QPS、响应时间
  20. spring mav创建和注销session

热门文章

  1. ajax回调函数ifelse,实现AJAX及用Promise解决回调函数命名问题
  2. python mysql append_Python细节——MYSQL的to_sql的if_exists推荐使用append
  3. kali 树莓派 android,【原】树莓派安装KALI LINUX的手记
  4. java中class_JAVA中的Class类
  5. 计算机系统概论寻址空间,自考《计算机系统结构》重点知识概论:数据表示(二)...
  6. 万年历java课程设计报告_java万年历课程设计报告2010
  7. 成功跳槽百度工资从15K涨到28K,专题解析
  8. 【机器学习入门到精通系列】SVM与核函数(附程序模拟!)
  9. 电脑主板维修_自学电脑主板维修第45讲
  10. iconfont 图标转为字体_阿里字体库iconfont使用方法