import { WalletConnectConnector } from "@web3-react/walletconnect-connector";我用这个连接钱包,通过QR代码连接,用useWeb3React连接到钱包。
Metamask扩展可以正常工作,但不能将walletconnect用于事务处理。
const alchemyKey = process.env.REACT_APP_ALCHEMY_KEY;
const { createAlchemyWeb3 } = require("@alch/alchemy-web3");
var web3 = createAlchemyWeb3(alchemyKey);
const transactionParameters = [
{
method: "eth_sendTransaction",
params: [
{
to: contractAddress, // Required except during contract publications.
from: acct, // must match user's active address.
data: window.contract.methods.mintNFT(acct, tokenURI).encodeABI(), //make call to NFT smart contract
},
],
},
];
await web3.eth
.sendTransaction(transactionParameters)
.on("receipt", (receipt) => {
console.log(receipt, "receipt");
})
.on("transactionHash", (hash) => {
console.log(hash, "hash");
})
.on("error", (err) => {
console.log(err, "error");
});上面的工作原理与元but扩展,但不是对Walletconnect。
发布于 2022-03-24 10:09:10
我认为问题在于您的web3提供者。尝试从web3本身获取useWeb3React提供程序。
例:
const provider = connector.getProvider();
const web3 = new Web3(provider)使用此web3发送事务
https://stackoverflow.com/questions/70751194
复制相似问题