如何使用polkadot js查询当前所有polkadot账户?

jho*_*ino 2 blockchain substrate polkadot

我正在查询所有 Polkadot 账户,这样我就可以按余额对它们进行排序。我应该使用哪个 javascript api?我不只是在寻找具有身份的帐户。我正在寻找所有帐户,非常感谢

Sha*_*izi 8

使用 Polkadot JS: https: //polkadot.js.org/docs/

要查询所有帐户,您需要查看所有条目system.account

let users = substrate.query.system.account.entries();
Run Code Online (Sandbox Code Playgroud)

然后,要查看特定用户的总余额,您需要查看他们的余额data.free并将其添加到他们的data.reserved.

以下是获取第一个用户的数据的方法:

let account_id = util_crypto.encodeAddress(users[0][0].slice(-32));
let free_balance = users[0][1].data.free.toNumber();
let reserved_balance = users[0][1].data.reserved.toNumber();
Run Code Online (Sandbox Code Playgroud)

从那里,您应该能够弄清楚如何对列表进行排序并创建您想要的输出。

编辑:

这是其他人的完整脚本:

let account_id = util_crypto.encodeAddress(users[0][0].slice(-32));
let free_balance = users[0][1].data.free.toNumber();
let reserved_balance = users[0][1].data.reserved.toNumber();
Run Code Online (Sandbox Code Playgroud)