0

我有此代码用于检查令牌是否已被批准。问题是,即使我输入了一个批准的令牌,我也得到了一切 0。你知道我做错了什么吗?先感谢您

import json
import sys
from web3 import Web3

bsc = "https://bsc-dataseed.binance.org/"
web3 = Web3(Web3.HTTPProvider(bsc))
print(web3.isConnected())


"0x3c7eeddcff188a8c36f1cac1b62958c6e0c27dea"  # G2 already approved
"0xcc5667333f5e997ac9f0c26d41b7dda65b2b675a"  # GloryDoge not approved

contract = "0x3c7eeddcff188a8c36f1cac1b62958c6e0c27dea"  # Contract
contract = web3.toChecksumAddress(contract)
abi = [
    {
        "constant": True,
        "inputs": [
            {"name": "_owner", "type": "address"},
            {"name": "_spender", "type": "address"},
        ],
        "name": "allowance",
        "outputs": [{"name": "", "type": "uint256"}],
        "payable": False,
        "stateMutability": "view",
        "type": "function",
    },
]
contract = web3.eth.contract(address=contract, abi=abi)

_owner = web3.toChecksumAddress(MYADRESS)
_spender = web3.toChecksumAddress(
    "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c"
)  # WBNB

x = contract.functions.allowance(_owner, _spender).call()

print(x)
4

1 回答 1

0

您的代码工作正常!

除了填写 _spender 的 wbnb 代币地址之外,您还应该提供您给予补贴的东西的地址。例如,pancake 路由器地址“0x10ED43C718714eb63d5aA57B78B54704E256024E”。

您可以通过查看 bscscan.com 中的批准交易来检查您允许的地址

点击“点击查看更多”,然后点击“解码输入数据”。

您将看到您批准的消费地址。

于 2021-11-20T17:34:20.093 回答