知识点:

1、.then()

js中then()的用法_spider_man-CSDN博客_js then

2、let和var

var和let的区别 - 知乎

3、箭头函数

js中 => 的含义_小白菜的专栏-CSDN博客_js中=>

4、wei到ether转换方法web3.js 1.0中文手册 / web3.utils.fromWei - 从wei转换到其他以太单位 - 汇智网

5、总参考

web3.js(三)查询智能合约币数量(erc20)_侞婼冇罪-CSDN博客

正题:

1、安装nodejs,并安装web3.js包

2、复制下方代码保存xxxx.js

3、node xxxx.js

// 实例化web3 并指定http链接到主网
const Web3 = require("web3")
const web3 = new Web3("https://mainnet.infura.io/v3/c33e4b53375843259ec8bb7fef608456")// 设置合约abi
let token_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 contract_address = "0xf85feea2fdd81d51177f6b8f35f0e6734ce45f5f"// 创建一个新的合约实例
mycontract = new web3.eth.Contract(token_abi, contract_address)// 调用合约里面的balanceOf方法看代币数量
// 设置看这个人的
let user_address = "0x46705dfff24256421a05d056c29e81bdc09723b8"// 调用合约方法
haha = mycontract.methods.balanceOf(user_address).call().then(function (result) {console.log(web3.utils.fromWei(result, 'ether'));
})

雲禾遗密:Web3js调用智能合约查看某账户ERC20代币数量相关推荐

  1. java 创建以太坊代币_以太坊 (五)编写智能合约-建立简易加密代币

    本篇文章,我们将写一个简易的加密代币的智能合约来给大家诠释加密代币的原理 启动 ganache-cli 打开终端,启动ganache-cli,相关环境在区块链学习日记(四)这篇文章里面已经有具体说明. ...

  2. 以太坊Dapp通过web3js部署调用智能合约

    通过web3js部署调用智能合约 1.在线编译智能合约 2.部署合约 3.调用合约 参考视频:https://www.bilibili.com/video/BV14z4y1Z7Jd?p=1 1.在线编 ...

  3. 服务器端调用智能合约,《精通以太坊:开发智能合约和去中心化应用》 ——3.4 远程调用以太坊客户端...

    远程调用以太坊客户端 远程调用以太坊的客户端是指相比全功能客户端,只提供了一部分功能的客户端.这些客户端通常不会保存完整的区块链数据,所以它们的启动速度更快,也不会消耗大量的磁盘空间. 远程调用以太坊 ...

  4. 在英文版的remix部署,拿到部署地址在中文版的remix 中 合约地址中输入地址,再部署可以实现调用 java调用智能合约Unmatched arguments from index 2

    目录 java调用智能合约 在英文版的remix部署,拿到部署地址

  5. Java智能合约工具包|Java调用智能合约|Java调用ERC20、ERC721、ERC1155合约

    Magician-ContractsTools是一个用于调用智能合约的工具包,你可以非常容易地在Java程序中调用智能合约进行查询和写入操作. 有三个内置的标准合约模板,分别是ERC20.ERC721 ...

  6. 智能合约:从 Python 调用智能合约

    智能合约:从 Python 调用智能合约 以太坊带来了智能合约的进步,其是可公开验证的代码.如果我们改变合约状态,我们将花费一些gas.现在,让我们创建一个Python程序,它可以在以太坊上调用智能合 ...

  7. 智能合约 web3j Java_Java使用web3j调用智能合约

    1.Java程序引入相关依赖,后面用于调用智能合约中的函数 org.web3j core 5.0.0 org.web3j codegen 5.0.0 org.fisco-bcos solcJ 0.5. ...

  8. 区块链之java调用智能合约(一)编译智能合约

    前言 首先,还是一贯的思路,带着问题学习. 在最后,附带上我的Gitee代码,因为国内访问github有时候真的很蛋疼. 提问 1.Solidity是什么? 2.java如何调用Solidity? 解 ...

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

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

最新文章

  1. 开发人员拟在澳洲建立一座价值5000万美元的BCH科技园
  2. Oracle 实例恢复时 前滚(roll forward) 后滚(roll back) 问题
  3. Matlab设置Legend横排、分块
  4. 【原】UCS-2和UTF-8的互相转换
  5. IOS之导航控制器与表视图
  6. js--a标签带参数href取值
  7. [转载] numpy总结
  8. 【Python】:拓展Queue实现有序不重复队列
  9. JavaScript Date(日期)对象
  10. WEB架构师成长之路 二
  11. c语言如何读文件,如何正确用C语言读取文件
  12. Linux驱动开发(十三)---USB驱动HID开发学习(鼠标)
  13. 何园–中国晚清第一园
  14. 办公自动化工具-Excel文件、sheet合并工具
  15. ListView双击的行
  16. 懒出天际--语音鼠标,解放双手,靠嘴使唤鼠标。SAPI语音识别,WINAPI鼠标消息
  17. 南方航空java面试_面试经验 南航面试经历分享
  18. php curl 函数时战
  19. Oracle中的子查询
  20. wildfly常用配置说明

热门文章

  1. Python每日一练——第1天:水仙花数
  2. Unity之使用贝塞尔曲线制作图片轮播
  3. 英文写作中单词的用法
  4. 蓝底寸照该如何在手机上修改照片底色
  5. 数组方法中会更改原数组,不会更改原数组(详细)
  6. 论文的可复现性,能否量化分析?
  7. 固态硬盘比机械硬盘快的原因(科普篇)
  8. C#测试网络连接测试
  9. STM32开发 -- GPS模块开发详解
  10. RK3288-人脸识别主板方案