【问题标题】:How to verify public address owner with crypto wallets如何使用加密钱包验证公共地址所有者
【发布时间】:2021-11-12 10:34:24
【问题描述】:

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

【问题讨论】:

  • 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。

标签: web3 cryptocurrency metamask solana


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    让他们在消息上签名。

    我考虑过签署一条消息,但为什么不这样做? opensea.io(Eth/Metamask)?

    这不是在 OpenSea 上完成的,因为 OpenSea 不会为其用户创建或管理用户帐户。该应用完全依赖于用户的 Web3 提供者(例如 MetaMask)的 PKI。

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

    【讨论】:

      猜你喜欢
      • 2022-07-28
      • 1970-01-01
      • 2021-03-17
      • 2022-06-30
      • 1970-01-01
      • 2018-07-11
      • 2021-07-31
      • 1970-01-01
      • 2023-02-21
      相关资源
      最近更新 更多