问题标签 [bsc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1141 浏览

solidity - 可靠地从智能合约内部发送 BNB

我需要从我的代币合约中可靠地转移 BNB,有人可以帮忙吗?在 bsc 网络上。

0 投票
0 回答
47 浏览

blockchain - 如何在 Pancakeswap 上进行无延迟购买代币?

我知道有人可以在 Pancakeswap 上毫不拖延地抢购新的代币,使用他们自己的合约,比我们在 pancake 上手动执行要快得多,例如,LP 池在区块 13460029 的高度添加。然后他们可以使用合约在同一个区块13460029购买代币。我想学习合约,有人有这个合约的相关资料,或者相关的源合约学习吗?

0 投票
0 回答
297 浏览

transactions - 在发送交易之前如何获得估计的gas?

您如何从“swapExactETHForTokens”函数中获得“估计气体”?如图metamask(之前可以接受购买)

币安智能链 (BSC)

从 pancakeswap 合约(https://bscscan.com/address/0x10ed43c718714eb63d5aa57b78b54704e256024e#writeContract)中,您可以使用“swapExactETHForTokens”购买代币,在功能编号 14 中您可以使用“swapExactTokens”出售代币

在此处输入图像描述

当您在想要买入或卖出时尝试进行交易并且无法继续进行时,则显示gas费用为“0.3”或“0.4”,这表明存在错误(并且显然不必接受)

在此处输入图像描述

在此示例中,这是因为我尝试在代币中没有定义价格/BNB 中没有流动性时购买代币,因此显示 0.3 bnb 的汽油费(错误)

我通过 BOT 自动“购买”和“出售”,它使用上述功能帮助我执行这些过程。如何获得“估计气体”的这个值,如“Metamask”中的示例所示?但使用 web3 或 ethers!

我在 ethers 中尝试了“estimateGas”,但它返回了一个正常的气体值,与元掩码为 0.3 bnb 的示例不同

显然我做错了:(请帮忙!!

0 投票
1 回答
186 浏览

smartcontracts - 无法与 BSC 主网中的合约交互,但在测试网中成功(但仍然是标准传输)

我可以通过 sendSignedTransaction 将原始交易发送到 BSC 测试网上的合约地址,它成功了,但这只是一个标准交易;这不是我想要的合同电话。

但是在 BSC 主网上,它总是失败并出现错误:警告!合约执行过程中遇到错误[执行恢复]

请帮我检查下面的代码,然后告诉我哪里有问题,任何评论,回复或猜测欢迎;非常感谢。

对于 testnet,它总是成功,但它是一个标准交易,链接到 image。虽然我想与合同互动,但结果应显示与(至)互动的字段

对于 mainet,如果我在web3.eth.estimateGas中使用_signEncoded它会返回错误:执行恢复:无效签名,我必须使用_sign发送交易,但它仍然总是失败并出现错误警告!合约执行过程中遇到的错误 [执行恢复] 链接到图像

0 投票
0 回答
121 浏览

python-3.x - Web3 发送原始交易 ValueError 无效类型 不支持交易类型

我正在尝试通过与智能合约的交互发送已签名的交易,但在发送原始交易时一切都崩溃了。

我的代码如下

代码在最后两行都返回错误

为什么我会收到这个?

在文档中,我认为我没有任何错误地遵循了代码。但是,仔细观察,而在文档中,当您调用 sign_tx.rawTransaction 时,它会返回类似这样的内容

我从我的代码中看到的是这个

为什么我的代码返回不同的东西?

像发送原始事务这样的函数需要什么数据类型?我怎样才能使这项工作?

0 投票
1 回答
456 浏览

ethers.js - 在 Node.js 上使用以太库在 Pancakeswap 上出售功能

我正在尝试通过在测试网上使用 pancakeswap 路由器 v2 将我的 busd 令牌换成 bnb(wbnb)。虽然我有 CALL_EXCEPTION。

在我深入研究代码之前,我在bscscan上遇到了同样的问题。我不知道这是否相关,但即使我成功批准了合同,它仍然返回 0 作为津贴。这是我尝试的方法,我从代码中获取了值。无论输入如何,总支付金额(金额 + 汽油费)都不会改变。

swapExactTokensForEth 失败图片

这是我在测试网中的资产。

测试网资产

amountIn 值填充了 busdContract.balanceOf 方法的返回值

amountOutMin 由 pancakeswapRouter.getAmountsOut 方法计算

批准令牌:

Sell 函数(它实际上会引发 CALL_EXCEPTION 错误):

我还尝试提供自定义金额,并使用检索到的 abi 的(busd abi)小数值进行计算,但没有运气;它给出了同样的错误:CALL_EXCEPTION。

错误消息和失败的交易都没有给我任何线索。它只说代码= CALL_EXCEPTION。这让我无处可去。

我怀疑问题出在批准和津贴上。即使批准交易成功,我的钱包的busd津贴总是为零。提前谢谢了。

这是变量,在图像中看到:

0 投票
0 回答
25 浏览

python-3.x - 使用 Python 在 BSC 中发送失败的交易时 Cut 丢失

我对gas费用系统以及矿工如何选择交易处理顺序感到有些困惑

根据我的阅读,有一个遗留系统,您可以在其中设置 gasPrice 和 gas,后者是您愿意支付的最大 gas 量。这应该包括交易成本+矿工的费用。

然后有一个较新的版本,您可以在其中设置矿工的最高费用和最高费用总额,以涵盖交易和矿工的费用。

该费用应该激励矿工选择他们的交易而不是其他人。

第一个问题。我看到人们设置高得离谱的费用来保证他们赢得交易。例如,购买 30 美元代币的费用超过 100 美元的交易哈希。

交易费用高

如果该交易失败,他将被收取多少费用?有没有办法知道这一点?

然后是第二个问题。这里有 2 笔交易竞争相同的代币。两者都在 3 秒内开采完毕。

中标交易

交易失败

这真的让我很困惑。失败的交易最多支付 0.013BNB,而获胜的交易提供 0.008BNB。

为什么提供较少费用的交易首先处理?我在这里错过了什么吗?

顺便说一句,这两笔交易都是使用自动机器人进行的,所以两者都在竞速,并且都是在第一个交易被包含在一个区块之前发送的。

0 投票
0 回答
561 浏览

python - Web3 bsc token 用 python 发送,gas 费计算。ValueError: {'code': -32000, 'message': 'gas * price + value 资金不足'}

我想编写一个小的python程序,如果我的acc2有余额程序将检测到一个正余额并将其发送到我的另一个钱包acc1。使用 web3 bsc 创建事务出现错误:

"ValueError: {'code': -32000, 'message': 'insufficient funds for gas * price + value'}"

我不确定,但可能试图在交易中做错事。我的 acc2 余额获得了代币和 bnb 用于支付汽油费。

0 投票
0 回答
60 浏览

python - Web3 错误:运行 w3.eth.contract(address,abi) 得到错误:TypeError:type.new() 参数 3 必须是 dict,而不是生成器

Web3 版本:5.12.2 Python:3.7 操作系统:Mac

我尝试使用以下简单代码创建合约实例:

但是出现以下错误,任何人都可以提出建议,谢谢

0 投票
1 回答
770 浏览

javascript - Pancakeswap - getAmountsOut 得到奇怪的结果

我正在 web3 中迈出第一步,这就是为什么问题可能很愚蠢。

我不明白,为什么 Pancakeswap 的 v2 路由器的 getAmountsOut 方法的结果与我在 Pancakeswap 前端看到的交换结果有很大不同。

BAKE 小数应该自动无处不在 18,所以我不明白这种不同结果的原因。

BUSD-BAKE 互换示例

  1. 我的代码(结果为 20000 BUSD -> 163 BAKE)

  1. 在 bscscan 中调用路由器合约上的 getAmountsOut 方法(结果为 20000 BUSD -> 163 BAKE)

在此处输入图像描述

  1. PancakeSwap UI 的屏幕截图(结果为 20000 BUSD -> 12100 BAKE)

PancakeSwap UI 的屏幕截图