我可以使用智能合约在没有确认的情况下铸造我的NFT吗?



我想让我的用户用现金(通过PayPal或Stripe等方式)预订我的NFT。当预订发生时,NFT应该由我的钱包铸造,他们可以在设置好自己的钱包后联系我,这样我就可以将NFT转移到他们的钱包中。

但似乎每次挖矿(将创建一个交易)都需要钱包所有者的确认。有没有办法跳过它,或者我必须手动完成它?

如果by "自动"你的意思是在不使用像Metamask这样的钱包的情况下完成交易,那么是的,你可以自动完成交易,但是在调用合约的mint方法时,你需要指定你的私钥和一个RPC URL给节点。

为此,您需要在前端之外的不同地方安全地管理该交易,因为如果您在前端应用程序(网站)上输入私钥,任何人都可以访问它并访问您的钱包。

你需要一个服务器上的外部服务(例如运行以太脚本的节点应用程序),在那里你可以安全地管理数据,执行交易,并让前端调用这个服务。

这个脚本可以,例如,监听来自前端的HTTP请求(使用expressjs),一旦收到请求,从RPC URL获得提供者,使用私钥获得签名者(使用new ethers方法)。钱包(privateKey [, provider]),然后像往常一样获得合约实例。之后,只需调用该方法,等待事务的承诺,然后向前端返回响应。

从前端,你可以简单地使用fetch发送请求,一旦通过stripe支付被确认,例如。

相关内容

最新更新