【发布时间】:2021-08-14 22:25:30
【问题描述】:
我是区块链新手,我正在尝试使用 web3.js。 我试图计算将 WBNB 换成 DAI 的气体,但我一直出错。 这是我的代码:
let routerContract = new puWeb3.eth.Contract(Config.PANCAKESWAP_ROUTER_V2_ABI, Config.PANCAKESWAP_ROUTER_V2_ADDRESS);
let tokenContract = new puWeb3.eth.Contract(Config.TOKEN_ABI, Config.WBNB_ADDRESS);
let amountIn = puWeb3.utils.toWei('0.01', 'ether');
let amountOutMin = await routerContract.methods.getAmountsOut(amountIn, [Config.WBNB_ADDRESS, Config.DAI_ADDRESS]).call();
amountIn = amountOutMin[0];
amountOutMin = amountOutMin[1];
console.log(amountIn+" WBNB ----> "+amountOutMin+" DAI");
// Set deadline 1 minute from now
let now = parseInt(Date.now()/1000);
let deadline = now + 60
// Encode data
let encodedABI = routerContract.methods.swapExactTokensForTokens(amountIn, amountOutMin, [Config.WBNB_ADDRESS, Config.DAI_ADDRESS], Config.ACCOUNT_ADDRESS, deadline).encodeABI();
//Estimate gas
let estimateGas = await puWeb3.eth.estimateGas({
from: Config.ACCOUNT_ADDRESS,
to: Config.PANCAKESWAP_ROUTER_V2_ADDRESS,
data: encodedABI,
});
错误是: 返回错误:执行恢复:TransferHelper: TRANSFER_FROM_FAILED
谁能告诉我我做错了什么?谢谢。
【问题讨论】:
标签: blockchain web3js