我希望使用以下堆栈启动事务。但是,恩弗拉不支持web3.eth.sendTransaction(tx),因为它需要服务器保存私钥。这是一个链接,它应该如何工作https://example.walletconnect.org/和回购https://github.com/WalletConnect/walletconnect-example-dapp。
到目前为止,这就是我所拥有的。
const provider = new WalletConnectProvider({
infuraId: "**************",
})
await provider.enable();
const web3 = new Web3(provider);
web3.eth.getAccounts().then((account) => {
console.log("kk", account)
setAccount(account)
}).catch((err) => {
console.log("Failed to get accounts", err)
})
web3.eth.getBalance(account[0]).then((balance) => {
setAccountBalance(balance)
}).catch((err) => {
console.log("ayre", err)
})发布于 2021-10-11 23:09:18
您可以使用合同函数,这样就可以了。例如,如果您想启动一个ETH事务,并且您的合同中有用于购买货物的函数buy(),您可以使用您的合同实例调用它:
声明合同实例:
const instance = new web3.eth.Contract(contract.abi, contractAddress)使用契约实例调用您的函数
instance.methods.yourContractFunction().send({from: accounts[0],value:price}).then("confirmation",(confirmation) => {
console.log(confirmation)
}).catch("error", (error) => {
console.log(error)
})https://ethereum.stackexchange.com/questions/111406
复制相似问题