在 JavaScript 中验证 Aptos 帐户地址

问题描述 投票:0回答:2

我制作了一个从 Aptos 区块链返回用户资产的应用程序。在应用程序中,我有一个用户地址的表单。我的目标是使用 RegExp 或类似的东西来验证该地址。 我有这个代码:

const address = '0xcd30fbbda98b2aed026772c13e5ed90a7f056b589ef9e78cd96415e1af12451c';
function isValidAddress(address) { // code to check address }
console.log(isValidAddress(address));

我将不胜感激任何帮助。

javascript validation blockchain aptos
2个回答
0
投票

这取决于您的用例。

如果你想验证客户端,你可以尝试这样的事情:

import { TxnBuilderTypes } from "aptos";
import const { AccountAddress } = TxnBuilderTypes;

// Validate.
let accountAddress = AccountAddress.fromHex("0xcd30fbbda98b2aed026772c13e5ed90a7f056b589ef9e78cd96415e1af12451c");

// You can get it back as a string like this.
let accountAddressString = accountAddress.toHexString();

您还可以尝试使用运行 API 的 Aptos 节点(即完整节点)进行验证。例如:

let client = AptosClient("https://fullnode.mainnet.aptoslabs.com");
client.getAccount("0xcd30fbbda98b2aed026772c13e5ed90a7f056b589ef9e78cd96415e1af12451c");

如果帐户存在,您将收到 200,如果不存在,您将收到 404。但如果帐户地址无效,您将收到 400(错误请求)。


0
投票

以上答案适用于旧版 v1 SDK。您可以使用 v2 TS SDK 来完成此操作,如下所示:

import { AccountAddress } from "../../src";

function myFunction {
    let addr = "0x1";
 
    // Get an actual AccountAddress object.
    let accountAddress = AccountAddress.from(addr);

    // Just check if the account address is valid.
    let result = AccountAddress.isValid(addr);
    let valid = result.valid;
}

您可以在此处了解有关 AccountAddress 的更多信息:https://aptos-labs.github.io/aptos-ts-sdk/@aptos-labs/ts-sdk-1.9.1/classes/AccountAddress.html.

© www.soinside.com 2019 - 2024. All rights reserved.