Python web3 api调用

这篇具有很好参考价值的文章主要介绍了Python web3 api调用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python web3 api调用

1.简介

Web3 api 主要提供web3连接,数据编码格式转换

2.web3安装

python安装web3:

pip3 install web3 
3.常用web3 API

1.调用api连接链rpc

'''导入Web3模块'''
from  web3 import Web3

'''连接rpc环境'''
Web3(Web3.HTTPProvider('http://127.0.0.1:7890'))

2.web3.toHex
根据输入的格式解码UTF-8字符串

from web.auto import w3


Web3.to_text(text='cowmö')
'cowmö'

Web3.to_text(b'cowm\xc3\xb6')
'cowmö'

Web3.to_text(hexstr='636f776dc3b6')
'cowmö'

3.web3.toBytes
根据输入的格式编码UTF-8字符串

from web.auto import w3


Web3.toBytes(0)
b'\x00'

Web3.toBytes(0x000F)
b'\x0f'

Web3.toBytes(False)
b'\x00'

Web3.toBytes(True)
b'\x01'

Web3.toBytes(hexstr='0x000F')
b'\x00\x0f'

Web3.toBytes(hexstr='000F')
b'\x00\x0f'

Web3.toBytes(text='')
b''

Web3.toBytes(text='cowmö')
b'cowm\xc3\xb6'

4.web3.toInt
根据输入的格式转码Int整数

from web.auto import w3


Web3.to_int(0)
0

Web3.to_int(0x000F)
15

Web3.to_int(b'\x00\x0F')
15

Web3.to_int(False)
0 

Web3.to_int(True)
1

Web3.to_int(hexstr='0x000F')
15

Web3.to_int(hexstr='000F')
15

5.web3.toWei
根据传递金额数量增加对应精度

from web.auto import w3


Web3.toWei(1, 'ether')
1000000000000000000

Web3.toWei(1, 'mwei')
1000000

6.web3.fromWei
根据传递金额数量减少对应精度

from web.auto import w3


Web3.fromWei(1000000000000000000, 'ether')
1

Web3.fromWei(1000000, 'mwei')
1

7.Web3.is_address
检查0x地址是否是有效地址

from web.auto import w3


Web3.is_address('0xd3CdA913deB6f67967B99D67aCDFa1712C293601')
True

8.web3.keccak
通过传递的数据进行 Keccak-256编码

from web.auto import w3


Web3.keccak(text='txt')
HexBytes('0xd7278090a36507640ea6b7a0034b69b0d240766fa3f98e3722be93c613b29d2e')

9.web3.soliditySha3
根据传递的参数类型和参数值计算出 Keccak-256 对应HX文章来源地址https://www.toymoban.com/news/detail-525670.html

from web.auto import w3


Web3.solidity_keccak(['bool'], [True])
"0x5fe7f977e71dba2ea1a68e21057beebb9be2ac30c6410aa38d4f3fbe41dcffd2"

Web3.solidity_keccak(['uint8', 'uint8', 'uint8'], [97, 98, 99])
"0x4e03657aea45a94fc7d47ba826c8d667c0d1e6e33a64a036ec44f58fa12d6c45"

Web3.solidity_keccak(['address'], ["ethereumfoundation.eth"])
"0x913c99ea930c78868f1535d34cd705ab85929b2eaaf70fcd09677ecd6e5d75e9"

到了这里,关于Python web3 api调用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Web3】Web3Js高频Api

    目录 Web3Js方法 初始化Web3实例 Web3Api 创建账号Api 获取余额Api 单位转换工具函数 Web3Js方法 web3.eth:用于与以太坊区块链和智能合约之间的交互。 web3.utils:包含一些辅助方法。 web3.shh:用于协议进行通信的P2P和广播。 web3.bzz:用于与群网络交互的Bzz模块。 初始化Web3实例 npm

    2024年02月13日
    浏览(37)
  • 【Web3】 Web3JS Pay Api

    Web3Network.eth.sendSignedTransaction(serializedTx) 参数: from - String|Number :发送帐户的地址。如果未指定,则使用web3.eth.defaultAccount属性。或web3.eth.accounts.wallet中本地的地址。 to - String :(可选)消息的目标地址,若未定义则为发送消息。 value - Number|String|BN|BigNumber :(可选)为wei中的交易

    2024年02月16日
    浏览(35)
  • Java Web3J :使用web3j调用自己的智能合约的方法(教程)

    代码世界有很多令人大呼小叫的技巧!有的代码像魔术师一样巧妙地隐藏了自己,有的像魔法师一样让你眼花缭乱,还有的像瑜伽大师一样灵活自如。它们让我们惊叹不已,让我们觉得自己仿佛置身于编码的魔幻世界。快来分享你见过哪些令你膛目结舌的代码技巧吧! web3j是

    2024年02月04日
    浏览(65)
  • MetaMask与Web3中智能合约调用(2)

    智能合约交易区别于点对点交易,智能合约交易只需付费给矿工费用,也就是gas fee,是支付给矿工的手续费,当我们在以太坊区块链上进行转账时,矿工要把我们的交易打包并放上区块链,才能使交易完成,在这过程中会消耗区块链的运算资源,所以要支付费用 这个过程为

    2024年01月16日
    浏览(47)
  • Web3.js在以太坊上部署和调用智能合约

    介绍如何使用Web3.js在以太坊上部署和调用智能合约;Web3.js是以太坊JavaScript API的实现,它可以与以太坊区块链进行交互 智能合约编写 使用Solidity编写一个简单的智能合约,然后使用Web3.js将其部署到以太坊区块链,通过JavaScript调用该智能合约 这个智能合约非常简单。它有两

    2024年02月16日
    浏览(46)
  • Java Web3J :使用web3j调用自己的智能合约,返回一个内部有数组的对象结构时出现NPE问题

    之前有写过一篇文章Java Web3J :使用web3j调用自己的智能合约的方法(教程),当时只是简单的方法调用,也不涉及到什么复杂的数据类型,入参是long类型,出参是String类型。 遇到这个问题是因为有一个方法,需要通过提案的治理id,查询链上提案数据,这个就需要接收提案

    2024年01月19日
    浏览(63)
  • 以太坊Dapp通过web3js部署调用智能合约

    参考视频:https://www.bilibili.com/video/BV14z4y1Z7Jd?p=1 https://remix.ethereum.org/ 创建一个新的文件夹 mkdir MyDapp2 启动 ganache-cli 下载web3 npm install web3 ,注:ganache的启动和deploy.js要在同一个目录。 先进行测试 node deploy.js 部署合约 web3的版本:1.7.1 复制 WEB3DEPLOY 的内容到deploy.js == ganache需要

    2023年04月23日
    浏览(45)
  • Tokenview再度升级:全新Web3开发者APIs数据服务体验!

    Tokenview发布全新版本的区块链APIs和数据服务平台,为开发者打造更强大、更便捷的开发体验! 此次升级,我们整合了开发者使用习惯以及Tokenview产品优势。我们深知对于开发者来说,时间是非常宝贵的,因此我们努力提供一个高效的页面结构,帮助您更快速地找到所需的信

    2024年02月11日
    浏览(48)
  • 前端VUE使用web3调用小狐狸(metamask)和合约(ERC20)交互

    1.创建vue项目 2.安装web3 npm install web3 3.项目web3 main.js 项目结构 页面代码中引用web3,倒入ERC20代币的abi 项目页面   调用小狐狸metamask演示   项目任何难题,可以加入qq群:981921011      

    2024年02月15日
    浏览(43)
  • HTML页面通过Web3JS连接智能合约并调用其中接口

    之前我们学习solidity 并用它编写了智能合约 登上区块链 然后也做了基本的测试 但是 其实在web3时代 前端依旧扮演者非常重要的角色 我们现在就来打通web3 从合约到页面的一个管理 首先 我们还是将自己的ganache环境起起来 然后 在我们之前智能合约的项目终端执行 将我们的智

    2024年02月16日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包