【问题标题】:Web3:如何在 python 中获取令牌的 maxTransactionAmount?
【发布时间】:2022-01-22 08:12:15
【问题描述】:

我目前正在编写代码,我希望能够购买特定令牌的最大允许购买量。

在智能合约中,他们有时会执行最大交易,即:1% Max Buy。 我的代码如何在智能合约中检测到它并将其用作函数 contract.functions.swapExactETHForTokens( ) 中的购买参数?我想它会是这样的,

maxTokens = token_contract.functions.maxAllowedTransactions

然后,我可以在 swapExactETH.. 函数中使用 maxTokens 作为参数。 我试过用谷歌搜索,但没有遇到类似的情况。

谢谢!

【问题讨论】:

    标签: ethereum web3 cryptocurrency binance-smart-chain web3py


    【解决方案1】:

    我假设您说的是 uniswap v3/v2。没有“最大数量”。您所指的百分比是滑点量,它在swapExactETHForTokens 函数中表示为变量amountOutMin。此参数是您愿意为 x 数量的 ETH 获得的最低金额。

    如果您不关心滑点,则可以将 amountOutMin 设置为 0。如果您这样做,您可能会被 MEV 机器人抢先。

    您可以购买的代币的真正最大数量是您要换入的池中代币的总数量。如果池中有 50 个 Buttcoins 和 30 个 Dog 币,那么您最多可以购买 30 个 dog无限数量的 Buttcoins 的硬币。基于交换公式:

    buttcoin amount = 50 Butt / (30 Dog - 30 Dog) = infinity
    

    【讨论】:

      猜你喜欢
      • 2021-12-05
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 2020-04-27
      • 2022-06-25
      • 2012-05-16
      • 2021-09-27
      • 2018-08-02
      相关资源
      最近更新 更多