首页 > 解决方案 > Web3 - 通过代码购买 BSC 代币(加密货币)

问题描述

我正在尝试用我的代码购买 $TRY 代币。这是 BSC 代币。问题是当我向合约汇款时,我没有收到任何代币:/

我要购买的合同: https ://bscscan.com/token/0xc12ecee46ed65d970ee5c899fcc7ae133aff9b03

我正在使用 Web3 包装器在 python 中编码:https ://pypi.org/project/web3/

 signed_txn = w3.eth.account.sign_transaction(dict(
        nonce=w3.eth.getTransactionCount(MY_WALLET),
        gasPrice=int(w3.eth.gasPrice*1.5),
        gas=200000,
        to=w3.toChecksumAddress('0xc12ecee46ed65d970ee5c899fcc7ae133aff9b03'),
        value=w3.toWei(amount, 'ether'),
        data=b'',
    ),
        'PRIVATEKEY',
    )

我尝试使用合约地址: https ://bscscan.com/tx/0xb9652d6f36d22a13a5fc877ade45d7f1c882eec80fd224c87949284793f6fe1a 付款正常,但我没有收到任何代币。

我也尝试使用煎饼路由器: https ://bscscan.com/tx/0xc89b620fc08c37dec87f1daa0d79cb1a01f2f0e7b9c200e6fcaf52c66ebe5297 但我收到一个错误“指示顶级调用是成功还是失败的状态代码(仅适用于 Post BYZANTIUM 块)。我不不明白。

我的账户详情(仅 4 笔交易): https ://bscscan.com/address/0x033f7eea8799696ff46293cf8d84903a6aeeab05

你知道我如何用代码买卖这个代币吗?我用 pancakeswap 手动完成。还有一个具有相同地址的 ETH $TRY 令牌,但我遇到了同样的问题......

标签: pythonweb3jscryptocurrencybinance

解决方案


我设法做我想做的事。

我不直接将钱汇给合同(一些合同不处理这个,其他是的,但在我的例子中没有)。所以我使用了合约的功能,你可以在 bscscan 的“Contract”->“writeContract”部分看到你的合约的功能。根据您开发合同的人,您可以找到您正在寻找的功能:)

这里使用与合约交互的代码示例:

contract = w3.eth.contract(CONTRACT_ADDRESS, abi=ABI_CODE)
contract.functions.FUNCTION_OF_THE_CONTRACT().transact()

abi 代码可在 bscscan 的“合同”列表中访问,它被称为“合同 ABI”


推荐阅读