NodeJS 通过以太网将ETH Package 成WETH--我余额上的WETH币不会出现

wyyhbhjk  于 2023-05-17  发布在  Node.js
关注(0)|答案(1)|浏览(114)

我试图通过使用ethers调用deposit函数将Goerli上的ETH Package 到WETH中。尽管已经有几个TX被确认并成功开采,但在下拉列表Token Holdings中,我的WETH余额goerli.etherscan.io上不会出现任何内容。不,这里有WETH吗,还有其他的标记

async function myWrap(prKey) {
    let wallet = new ethers.Wallet(prKey, provider);
    const contract = new ethers.Contract(WETH_CONTRACT_ADDRESS, WETH_ABI, wallet);
    const txSigner = contract.connect(wallet);

    const balance = await provider.getBalance(wallet.address);
    const gasPrice = await provider.getGasPrice();
    const balanceMinusGas = balance.sub(gasPrice.mul(ETH_GAS_LIMIT));

    let tx = txSigner.deposit({value: balanceMinusGas});
    return tx;
  }

怎么了?
此外,在https://goerli.etherscan.io/address/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2处存在我的TX-s。

更新1

另外,我还试着打电话给

let amount = ethers.utils.parseEther(<sum of all previous ETH-s transfers>);
contract.transfer(wallet.address, amount);

然而,毫无结果

更新2

我在歌尔丽换了0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6。但是,调用contract.deposit()仍然不会将任何WETH存入我的钱包。

nzk0hqpo

nzk0hqpo1#

您在评论中提到的WETH address在歌尔利测试网上没有任何智能合约代码。它“只是”这个网络上的常规EOA地址。
因此,当您在Goerli测试网上向该地址发送交易时,它只是传输ETH value-但仅此而已。没有其他交互发生,因为没有智能合约会对交易做出React。
话虽如此,Uniswap docs page在Goerli上提到了一个不同的WETH合约地址,特别是0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6

解决方案:在歌尔利网络上使用正确的WETH合同地址。

相关问题