| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> web3-python:使用python调用智能合约交互 -> 正文阅读 |
|
[网络协议]web3-python:使用python调用智能合约交互 |
安装python、pycharm这些环境和开发工具大家自行安装即可,网上一搜都是教程,比我写的好很多,这部分内容不再赘述。 直接使用: 教程查询余额我们新建一个py文件,开始编码吧~
这部分代码就是展示一个地址的ETH余额的代码。 开头一定要引用web的包。 address就是你的地址,这里填上即可。 rpc这个参数大家应该比较熟悉了,每个类evm的公链都有很多rpc,这里罗列一些,如果没有你需要的rpc,去谷歌搜索即可。
当你不知道某公链的RPC,可以去chainlist 搜索,链接小狐狸钱包即可很快速的添加你想要的公链RPC。 好了,我们继续说代码。后面就是实例化了web3。 调用了getBalance这方法去获取余额,这里只需要传入地址即可获取改地址的ETH余额。如果RPC是BSC的则是BNB余额。切换公链只需要修改RPC,其他都是一样的代码。 fromWei这个方法是进行了一下单位换算,ETH的最小单位为wei,1个ETH相当于10的8次方wei。通常,大家也使用Gwei作为展示单位。比较常用的就是eth,Gwei和wei。 显示ETH余额完毕,下面来看看如何显示你的ERC-20 Token余额。
这段代码就是查询了一下钱包中的CAKE代币余额。 因为市面上的ERC20代币非常多,所以如果要查询代币余额,首先要有该代币的合约地址,代币合约地址我相信大部分人都会查询,可以查询自己的钱包记录,也可以去cmc等网站查询代币合约地址。 然后我们还需要一些代币的ABI,这个ABI如何找呢,我们可以通过代币地址的合约代码去查看。 以CAKE举例,我们打开智能合约地址:https://bscscan.com/address/0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82#code 可以下面找到合约的ABI,点击复制按钮即可复制,粘贴到我们的代码中即可。其实也有获取ABI的接口,这里就不讲了。 有了合约地址和ABI就可以实例化这个合约了,这就是参数token_contract。 token_contract.functions.balanceOf 这句话的意思就是调用了CAKE合约的balanceOf 方法,这个方法是CAKE的智能合约提供的,我们在区块链浏览器上也可以看到该方法。 我们最后打印balance,即可看到自己CAKE的余额了。赶紧换成别的合约地址来试试吧~ 转账转账这部分也分为两块,ETH转账和ERC20的Token转账。
这里我封装了一个transfer_eth方法,方便以后复用。 target_address就是转账目标的地址也就是收款方,amount就是转账数量,gas_price和 gas_limit是用来计算gas使用,BSC网络一般gas_price是5即可。其他网络gas费用浮动较大,需要查看当时的gas来填写。 首先我们获取nonce,nonce你可以理解为是你的钱包的一个顺序,我们可以按一定的顺序发送交易,也可以覆盖交易。 private_key参数就是你的钱包私钥。私钥可以通过imToken等钱包导出使用。一定要找一个不常用的钱包哦,因为复制私钥十分危险,一定要安全第一。 最后我们会获得一个tx_hash,这个就是区块链记录的哈希值了。我们可以等待交易成功后,查看该tx的记录。
transfer_token这部分代码就是转账ERC20代币,看上去跟转ETH大同小异,只不过这里调用了代币合约的transfer方法。 以上转账的方法,我建议大家也跑一下。可以在以太坊的测试网络,测试网络领水之后就可以免费测试自己的代码。 测试网络这里推荐kovan测试网。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 10:27:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |