remix IDE如何自动执行事务我想在goerli上开发一个不要求用户确认或签署交易的dapp,这是怎么可能的,所有功能都应该由学生和所有者两个人调用(所有者在合同中添加学生地址)
我需要一个解决方案,所有添加的学生和所有者事务处理在服务器端
Remix VM模拟器知道事务发送方的私钥,因此它能够签名并广播事务。
为了给用户发送交易,你需要知道他们的私钥。
web3js
中的以下代码片段为用户签署事务,并将其发送给节点提供者,以将其广播到网络的其余部分。
web3.eth.accounts.wallet.add("<user_private_key>");
// https://web3js.readthedocs.io/en/v1.8.1/web3-eth-contract.html
myContract.methods.foo().send({from: "<user_address>"});
如果私钥存储在用户的MetaMask或其他钱包中,并且用户没有给你密钥,他们将需要手动签署交易。
Goerli是一个PoA(权威证明)网络,这意味着该网络上的区块是由一组封闭的区块生产者创建的。
除非你在这个封闭组中,否则你需要等待它们中的任何一个从内存池中取出事务并生成包含该事务的块。
Remix VM使用一种称为自动挖掘的功能-每当它了解到有新的事务时,它就会生成包含该事务的新块。然而,此功能在设计上仅适用于模拟网络,而不适用于公共测试网络。