gpt4 book ai didi

ethereum - 如何使用 metamask 签署以太坊交易

转载 作者:行者123 更新时间:2023-12-05 06:00:03 39 4
gpt4 key购买 nike

我目前正在使用此代码发送交易:

      const provider = ethers.getDefaultProvider("ropsten", {
infura:
"https://ropsten.infura.io/v3/ee11be9f1d1c43199618db4a7b22aa79",
});

const signer = new ethers.Wallet(PRIVATE_KEY);
const account = signer.connect(provider);
const uniswap = new ethers.Contract(
ropstenUniswapContract,
[
"function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts)",
],
account
);
const gasCost = ethers.BigNumber.from((+gasPrice/10) * Math.pow(10, 9));
console.log('Computed gas cost ->', gasCost);

const tx = await uniswap.swapExactETHForTokens(
amountOutMin,
path,
to,
deadline,
{ value, gasPrice: gasCost }
);

// Transaction Hash and Block
setTransactionHash(tx.hash);
const receipt = await tx.wait();
console.log(receipt);

我的问题是:

如何让 MetaMask 代表我签署交易而不是提供我的私钥?

最佳答案

使用 web3.js 或 Ethers.js 抽象出交易签名.您可以在页内 JavaScript 代码中直接将 Ethers.js 连接到 MetaMask 提供程序 (windows.ethereum)。

An example here .

关于ethereum - 如何使用 metamask 签署以太坊交易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67880184/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com