![](/img/trans.png)
[英]Transferring ERC20 Tokens using web3 Ropsten Infura TestNet
[英]how to swap tokens on pancakeswap using web3 js
我正在嘗試使用 pancakeswap 合約方法從 metamask 錢包簡單地將 BUSD 交換為 WBNB 代幣。 pancakeswap 合約方法是:
var web3 = new Web3(new Web3.providers.HttpProvider('https://data-seed-prebsc-1-s1.binance.org:8545/'))
const accounts = await ethereum.request({ method: 'eth_requestAccounts' });
tokenToBuy = web3.utils.toChecksumAddress("0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd")
spend = web3.utils.toChecksumAddress("0x78867BbEeF44f2326bF8DDd1941a4439382EF2A7")
contract = new web3.eth.Contract(panabi, panRouterContractAddress, { from: sender_address });
var swap = contract.methods.swapExactTokensForTokens(
web3.utils.toWei("0.002", "ether"), 0, [spend, tokenToBuy], sender_address, web3.utils.toHex(Math.round(Date.now() / 1000) + 60 * 20)
)
var encodedABI = swap.encodeABI()
nonc = await web3.eth.getTransactionCount(sender_address);
ethereum
.request({
method: 'eth_sendTransaction',
params: [
{
from: sender_address,
to: panRouterContractAddress,
value: web3.utils.toHex(web3.utils.toWei("0.002", "ether")),
gasPrice: web3.utils.toHex(web3.utils.toWei("15", "gwei")),
gas: web3.utils.toHex(300000),
nonce: web3.utils.toHex(nonc),
data: encodedABI
},
],
})
.then((txHash) => { console.log(txHash); })
.then(() => console.log('Transaction sent!'))
.catch((error) => console.error);
我確定我錯過了一些東西。
您的spend = web3.utils.toChecksumAddress("0x78867BbEeF44f2326bF8DDd1941a4439382EF2A7")
不是有效的令牌地址。
同樣,您的購買令牌0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd
也不是有效令牌。
如果您嘗試將 BUSD 交換為 WBNB,則需要將這些變量更改為:
0xe9e7cea3dedca5984780bafc599bd69add087d56 (BUSD)
和
0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c (WBNB)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.