验证NodeJS上是否发生了(Metamask)事务



验证(Metamask(事务在NodeJS上发生的最佳方法是什么?

用例:

用户使用以太币购买数字卡。用户购买数字卡后,服务器上的一条路径会运行一些代码,制作PDF等

建议用什么方法让服务器(ExpressJS(验证tx已经发生并成功?

我想了两种选择,但我对以太坊还很陌生,所以我可能遗漏了一些细节。

让服务器侦听协定中的事件。当活动开始时,它会有用户的地址,并证明他们已经付款。然后我可以制作卡片。我唯一关心的是,也许这张卡的一些细节是私人的。如果它在日志中,它将是公开的。

或。。

或者让用户在本地签署消息,将其推送到服务器,然后以某种方式将其发送到合同。我不确定这条路线的细节是什么。有什么推荐的方法可以完成这样的事情吗?

我不确定我是否能正确理解这个问题,但我会尽力提供一些帮助。

在第一种情况下,日志将没有任何私有信息,除非您将其写入事件、返回或存储在公共变量中。你主要关心的应该是如何将信息发送到合同中,如果信息没有以某种方式加密,可能会出现问题。也就是说,我更喜欢第二种解决方案。

此外,您可以等待事务日志并检查它是否成功,或者异步进行。

const receipt = await contract.methods.yourFunction().send({ from: address });
contract.methods
.yourFunction()
.send({ from: address })
.then(receipt => {
// Do something with your receipt
});

最新更新