也许这是一个愚蠢的问题,但对于 web3.js,可以选择使用另一个 API 服务 Ankr,而不是 Infura。Ankr 允许访问费用较低的 BSC 网络。我似乎无法弄清楚如何通过 python web3 连接到 Ankr,因为它需要使用用户名和密码进行身份验证。当我运行 python 代码时它返回 false。我不确定我应该为 web3.py 使用哪些键,或者调用的语法可能是错误的,当我使用请求库时一切正常,所以地址不是问题。
# Python Code Unsuccessful
Ankr_bsc_url = 'https............'
web3 = Web3(Web3.HTTPProvider(Ankr_bsc_url, request_kwargs={'headers': {'Username': user, 'Password': password}}))
print(web3.isConnected())
//Node.js Code web3.js Works
const web3Provider = new Web3.providers.WebsocketProvider(url, {
headers: { authorization: `Basic ${Buffer.from(`${user}:${password}`).toString('base64')}`}
})