Web3js
無法批准或出售代幣 swapExactTokensForTokens:交易失敗(不是honeypot)
我正在嘗試出售代幣(DOBO)。購買DOBO是沒有問題的,它通過了。但是我不能賣。我收到一個失敗的交易,但在 node.js 上沒有錯誤消息(請參閱https://bscscan.com/tx/0x2a1e3af0c800dc1280c5f5a7e45cdb1a8914f2dcd66a63cd44ba397411a30442)。我的錢包裡有足夠的 DOBO 和足夠的 BNB。起初我以為是因為 DOBO 沒有在 Pancakeswap 上獲得批准。我嘗試在程式碼中實現批准(見下文),但這不起作用。我最終手動批准了它,但我仍然收到失敗的銷售交易。
為什麼我不能批准代幣銷售?為什麼我在嘗試出售代幣時會收到錯誤消息?
謝謝你的幫助!
const ethers = require('ethers'); const WSS = "wss:/XXX" // NODE CONNECTION const Seed = 'XXX XXX' // WALLET SEEDPHRASE const recipientaddress = '0x8d25C18e2280A05aF12c2620388116Fb2a72a236' // WALLET ADDRESS const routeraddress = '0x10ed43c718714eb63d5aa57b78b54704e256024e' // PANCAKESWAP ROUTER const amountIn = ethers.utils.parseUnits('10', 'ether'); // SELL 10 DOBO const minBuy = ethers.utils.parseUnits('0', 'ether') // NO MINIMUM const shitCoin = 'ae2df9f730c54400934c06a17462c41c08a06ed8'; // DOBO const moneyToken = 'bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c'; // wBNB const provider = new ethers.providers.WebSocketProvider(WSS); const wallet = ethers.Wallet.fromMnemonic(Seed); const account = wallet.connect(provider); const router = new ethers.Contract( routeraddress, ['function swapExactTokensForTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts)'], account ); // APPROVE TOKEN const fullToken1 = ("0x"+shitCoin); // DOBO const approveToken = new ethers.Contract( fullToken1, [ 'function approve(address spender, uint amount) public returns(bool)', ], account ); const init = async () => { const tx = await approveToken.approve( routeraddress, '1000' // APPROVE TRADING 1000 DOBO? ); const receipt = await tx.wait(); console.log('Transaction receipt'); console.log(receipt); } // SELL TOKEN router.swapExactTokensForTokens( amountIn, // 10 DOBO minBuy, // set to 0 [shitCoin, moneyToken], recipientaddress, Date.now() + 1000 * 60 * 10, { gasPrice: ethers.utils.parseUnits('10', 'gwei'), gasLimit: '2100000' } )
你只批准了 1000 wei 的 DOBO,但試圖交換 10 乙太的 DOBO (10*10^18)。
嘗試將 1000 更改為
amountIn
您的批准 tx。
除了 Kenzo 的回答。
查看您共享的交易和 bsc 的狀態,您似乎正在批准 from 交易。
內部 tx 嘗試將 DOBO 從 傳輸到 時
0x8d25c18e2280a05af12c2620388116fb2a72a236
失敗0xbe80839a3be4d3953d5588a60a11aeaed286b593
。查詢此組合的津貼返回
0
,因此看起來沒有設置津貼。此外,
init
在您的剪輯中永遠不會呼叫設置津貼的塊。