如何验证加密钱包的公共地址所有者



我目前正在考虑创建一个连接到solana上的幻影钱包的dapp。注册/登录用户时将创建一个用户帐户。我不知道如何核实公共地址。钱包将信息传递到前端,我必须将这些信息转发到后端,因此它是可操纵的,无用的……我如何防止人们向服务器发送虚假地址并注册他们想要的任何帐户?我想过签署一条消息,但为什么不这样做,例如opensea.io(Eth/Metamask)?

如何防止人们向服务器发送虚假地址并注册他们想要的任何帐户?

让他们签名。

我想签署一条消息,但为什么不在例如opensea.io(Eth/Metamask)上完成?

在OpenSea上没有这样做,因为OpenSea不为其用户创建或管理用户帐户。该应用程序完全依赖于用户的Web3提供商(如MetaMask)的PKI。

问问自己为什么需要在后端为用户创建一个用户帐户。如果您需要创建这样一个帐户,那么让用户签署一条消息。如果您不需要创建用户帐户,那么只需让用户使用自己的PKI直接与区块链进行身份验证,就像OpenSea一样。

为什么不在后端本身创建密钥对(公钥+私钥)呢?因为你在注册时创建了一个新帐户。向后端发送请求,创建帐户,并将公钥返回给用户。

但是不这样做。您可以要求用户创建一个新的钱包,并使用类似于虚拟钱包的东西进行注册。有帮助吗?

最新更新