首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >它是否可能只使用ethers.js而不使用硬帽子来模拟一个帐户?

它是否可能只使用ethers.js而不使用硬帽子来模拟一个帐户?
EN

Ethereum用户
提问于 2023-05-01 17:22:46
回答 1查看 30关注 0票数 0

是否可以仅使用以太js模拟帐户?我不想用安全帽。虽然我用铸造厂分叉主干网。现在想转移eth的让我们假设vitalik到我自己的帐户本地。不可能只使用以太js吗?

EN

回答 1

Ethereum用户

发布于 2023-05-01 19:05:50

  • 当我们使用铸造厂分叉主板时,here是模拟帐户的解决方案。然后我们可以使用乙醚js从任何鲸鱼帐户转移eth。为什么它是重要的,因为我们总是有问题来获得testnet。即使是也不是免费的。因此,最好在本地分叉主板,并将eth从鲸地址传输到您的地址*
代码语言:javascript
复制
    import { ethers } from "ethers";
    let url = "http://localhost:8545";
    const provider = new ethers.providers.JsonRpcProvider(url);
    
    async function impersonateAccount(address, targetAddress, amount) {
      // Impersonate the account
      await provider.send("anvil_impersonateAccount", [address]);
    
      // Create a signer for the impersonated account
      const signer = provider.getSigner(address);
    
      // Send a transaction from the impersonated account
      const tx = await signer.sendTransaction({
        to: targetAddress,
        value: ethers.utils.parseEther(amount),
      });
    
      await tx.wait();
    
      console.log(`Sent ${amount} ETH from ${address} to ${targetAddress}`);
    }
    
    const addressToImpersonate = "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045";
    const targetAddress = "0x840E0f2e07A52F335e956947fd2AC0f60496f891";
    const amount = "1000";
    
    // impersonateAccount(addressToImpersonate, targetAddress, amount);
    console.log(
      ethers.utils.formatEther(
        await provider.getBalance("0xd8da6bf26964af9d7eed9e03e53415d37aa96045")
      )
    );

这是密码。甚至我也把eth从Vitalik账户转到了我的账户上。但他想弄明白什么是"anvil_impersonateAccount“。

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/149705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档