python - 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 令牌,但我遇到了同样的问题......
解决方案
我设法做我想做的事。
我不直接将钱汇给合同(一些合同不处理这个,其他是的,但在我的例子中没有)。所以我使用了合约的功能,你可以在 bscscan 的“Contract”->“writeContract”部分看到你的合约的功能。根据您开发合同的人,您可以找到您正在寻找的功能:)
这里使用与合约交互的代码示例:
contract = w3.eth.contract(CONTRACT_ADDRESS, abi=ABI_CODE)
contract.functions.FUNCTION_OF_THE_CONTRACT().transact()
abi 代码可在 bscscan 的“合同”列表中访问,它被称为“合同 ABI”
推荐阅读
- cakephp - Cakephp 表单助手在 jQuery 追加中不起作用
- python - 并行化以在 python 中添加计数器
- sql-server - 无法对“视图”执行更改,因为它是不兼容的对象类型
- javascript - 从角度 4 升级到 7 会导致一些问题
- reactjs - React Router Redirect没有重定向
- javascript - WebDriverError:未知错误,同时使用 Selenium(Javsacript)打开第二个边缘窗口
- python-2.7 - 拆分字符串以具有单独的引号
- c - __builtin_ia32_unpcklps/hps 和 __builtin_ia32_movlhps/hlps 如何工作?
- ssis - 单击编辑时,ScriptTask 未打开 VSTA IDE。有什么问题?
- ruby-on-rails - 检查请求参数