【问题标题】:How can I sign a message(not transaction) from a dApp?如何从 dApp 签署消息(不是交易)?
【发布时间】:2021-10-08 22:06:36
【问题描述】:

使用 Elrond Network 创建 dApp 时,我需要在不实际发送交易的情况下对用户进行身份验证。

对于像以太坊这样的其他区块链,这是使用 MetaMask 来实现的,它可以对消息进行签名,您可以确定用户就是他所说的那个人。

我注意到 Elrond 钱包具有“签名”功能,但我不确定如何从外部使用此功能,或者如何提示用户签署消息并将其发回。

我可以使用 Maiar 扩展程序或 Elrond Wallet 来签署消息吗?

【问题讨论】:

    标签: elrond


    【解决方案1】:

    如果您还没有这样做,我建议您使用 erdjsdapp package(包括 erdjs)来构建您的 dapp。

    使用这些,您将获得 elrond 制作的各种签名提供程序。这包括:

    所有这些提供商都允许您登录、签署交易、发送交易以及签署自定义消息。

    通过 ExtensionProvider 登录的示例代码:

    let provider = ExtensionProvider.getInstance();
    await provider.init();
    let walletAddress = await provider.login();
    let message = new SignableMessage({message: "Sign this message to make sure you are logged in"});
    let signedMessage = await provider.signMessage(message);
    

    当然,在这种情况下使用签名消息是可选的,但如果您计划实现一些服务器端身份验证流程,这可能会很有用。

    【讨论】:

    • 示例代码正是我一直在寻找的,但我必须检查它在 Angular 应用程序中的工作方式,因为如另一个问题中所述,最新版本的 Angular 存在一些问题这里:stackoverflow.com/questions/69507043/… 将返回有关这对我们的系统如何工作的结果。
    猜你喜欢
    • 2020-06-25
    • 2021-04-03
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-16
    相关资源
    最近更新 更多