最近嘗試自己寫一個簡單的程式 讓這個bot可以代替手動去買幣跟賣幣
之前測試了幾次看起來沒問題
今天發現
https://reurl.cc/oeWD6j
我去用0.2bnb($88.25)買這個ANM代幣
結果只換到價值$0.41的代幣回來而已...
這筆錢就這樣完全被吃掉了...
看了明細確定沒被夾子攻擊
https://reurl.cc/jkLdZq
我看別人的交易就大約有換到等值的代幣
不知道為什麼就唯獨我的交易有問題
我調用的合約方法單純是swapExactETHForTokens而已
path[0]是bnb address
function swapETHForTokens(address token, uint256 amount, address to) private
{
address[] memory path = new address[](2);
path[0] = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c;
path[1] = token;
pancakeswapV2Router.swapExactETHForTokens{
value: amount
}(
0,
path,
to,
block.timestamp
);
}
我猜可能的原因是
這個ANM代幣是BUSD的交易對 不是BNB的交易對
我看別人的交易是先從BNB換成BUSD再換成ANM代幣
而我的是直接從BNB換成ANM代幣
不知道問題是不是出在這裡?
可是如果從pancakeswap頁面手動買不也是去呼叫swapExactETHForTokens
可是手動買的話看起來會先從BNB換成BUSD再換成ANM代幣
不太懂為什麼結果會不一樣
另外我看網路上其他的bot也都是直接用BNB或WBNB去Swap一次而已
似乎也沒有多一步去轉成BUSD的動作
所以可能也不是我猜的原因
可是又想不出來還有什麼別的問題 所以發文求助看看QQ