【自动化测试】web3py 连接 goerli

web3py 连接 goerli

直接使用库里方法

python 复制代码
if __name__ == '__main__':
    from web3.auto.infura.goerli import w3
    w3.eth.get_balance(get_address_by_private_key(os.getenv("AAA_KEY")))
  • error info:
text 复制代码
websockets.exceptions.InvalidStatusCode: server rejected WebSocket connection: HTTP 401

换一种方式

python 复制代码
from web3 import Web3, HTTPProvider
connection = Web3(HTTPProvider('https://goerli.infura.io/v3/<API-KEY>'))
print ("Latest Ethereum block number", connection.eth.blockNumber)

但没有 api-key 的话

shell 复制代码
Traceback (most recent call last):
  File "/Users/apple/github/qadev-py-scripts/test-web3/spider_eth.py", line 26, in <module>
    from web3.auto.infura.goerli import w3
  File "/Users/apple/miniconda/envs/web3/lib/python3.7/site-packages/web3/auto/infura/__init__.py", line 13, in <module>
    _infura_url = build_infura_url(INFURA_MAINNET_DOMAIN)
  File "/Users/apple/miniconda/envs/web3/lib/python3.7/site-packages/web3/auto/infura/endpoints.py", line 55, in build_infura_url
    key = load_api_key()
  File "/Users/apple/miniconda/envs/web3/lib/python3.7/site-packages/web3/auto/infura/endpoints.py", line 35, in load_api_key
    "No Infura Project ID found. Please ensure "
web3.exceptions.InfuraKeyNotFound: No Infura Project ID found. Please ensure that the environment variable WEB3_INFURA_PROJECT_ID is set.

从报错看的需要一个 WEB3_INFURA_PROJECT_ID, 去申请一个 infura id

问题解决

资料

相关推荐
Rockbean2 天前
3分钟Solidity: 11.1 重入攻击
web3·智能合约·solidity
Rockbean2 天前
3分钟Solidity: 10.6 时间锁定
web3·智能合约·solidity
电报号dapp1193 天前
DApp开发:从数字工具到自治理社会系统的构建之路
web3·去中心化·区块链·智能合约
电报号dapp1193 天前
公链开发:在数字丛林中构建文明
web3·去中心化·区块链·智能合约
电报号dapp1194 天前
交易所开发:在数字金融的竞技场中构建信任的圣殿
金融·web3·去中心化·区块链·智能合约
voidmort4 天前
EVM学习笔记(一):初识EVM
web3·区块链
Rockbean5 天前
3分钟Solidity: 9.8 单向支付通道
web3·智能合约·solidity
Rockbean9 天前
3分钟Solidity: 9.3 通过 Create2 预计算合约地址
web3·智能合约·solidity
Rockbean10 天前
3分钟Solidity: 8.6 ERC721(NFT)
web3·智能合约·solidity
Rockbean10 天前
3分钟Solidity: 9.1 gasless代币转账
web3·智能合约·solidity