問題タブ [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.
ethers.js - Node.js の Ether Library を使用した Pancakeswap の Sell 関数
testnet で pancakeswap ルーター v2 を使用して、busd トークンを bnb (wbnb) に交換しようとしています。私はCALL_EXCEPTIONを持っていますが。
コードに飛び込む前に、bscscanにも同じ問題があります。関連しているかどうかはわかりませんが、契約の承認に成功したにもかかわらず、許容値として 0 が返されます。コードから値を取得する方法を次に示します。入力に関係なく、支払い総額 (金額 + ガス料金) は変わりません。
これがテストネットの私の資産です。
amountIn 値は busdContract.balanceOf メソッドの戻り値で埋められます
amountOutMin は pancakeswapRouter.getAmountsOut メソッドによって計算されます
承認トークン:
Sell 関数 (実際に CALL_EXCEPTION エラーをスローする場所):
また、カスタムの金額を指定して、取得した abi (busd abi) の 10 進数値を使用して計算しようとしましたが、うまくいきませんでした。同じエラーが発生します: CALL_EXCEPTION。
エラーメッセージも失敗したトランザクションも、手がかりを与えてくれません。code=CALL_EXCEPTIONとだけ表示されます。これは私をどこにも導きません。
問題は承認と許可に関するものだと思います。承認取引は成功したのに、ウォレットのBusd枠が常にゼロです。よろしくお願いします。
画像に表示されている変数は次のとおりです。
python-3.x - Python を使用して BSC で失敗したトランザクションを送信するとカットが失われる
ガス料金システムと、マイナーがトランザクションを処理する順序をどのように選択するかについて、私はやや混乱しています。
私が読んだところによると、gasPrice とガスを設定する従来のシステムがあり、後者は支払う意思のあるガスの最大量です。これは、トランザクションのコスト + マイナーの手数料をカバーすることになっています。
次に、マイナーの最大手数料と、トランザクションとマイナーの手数料の両方をカバーする最大手数料の合計を設定する新しいものがあります。
この手数料は、マイナーが他のトランザクションよりも自分のトランザクションを選択するように動機づけるものと考えられています。
最初の問題。取引を確実に勝ち取るために、とてつもなく高い手数料を設定している人たちを見てきました。たとえば、このトランザクション ハッシュでは、30 ドルのトークンを購入するための手数料が 100 ドルを超えています。
その取引が失敗した場合、彼はいくら請求されますか? これを知る方法はありますか?
次に、2 番目の問題。ここでは、同じトークンをめぐって競合する 2 つのトランザクションがあります。どちらも 3 秒以内に採掘されました。
これは本当に私を当惑させました。負けたトランザクションは最大 0.013BNB の支払いを申し出ましたが、勝ったトランザクションは 0.008BNB を申し出ました。
より少ない手数料を提供するトランザクションが最初に処理されたのはなぜですか? ここで何か不足していますか?
ちなみに、どちらのトランザクションも自動化されたボットを使用して行われたため、どちらも競合しており、最初のトランザクションがブロックに含まれる前に送信されました。
python - Web3 bsc トークンは python で送信され、ガス料金の計算が行われます。ValueError: {'code': -32000, 'message': 'gas の資金が不足しています * 価格 + 値'}
私のacc2に残高がある場合、プログラムが正の残高を検出し、それを私の他のウォレットに送信する小さなpythonプログラムを書きたいです。web3 bsc を使用してトランザクションを作成すると、次のエラーが発生しました。
"ValueError: {'code': -32000, 'message': 'insufficient funds for gas * price + value'}"
よくわかりませんが、おそらくトランザクションで何か間違ったことをしようとしています。私のacc2残高は、ガス料金のトークンとbnbを受け取りました。