我如何使用 PolkaDot JS API 获取众筹信息?

How do i get crowdloan info using PolkaDot JS APIs?

我可以通过 JS API 获取账户信息和链信息,但是余额没有显示锁定在众筹中的 KSM,它们不存在,所以我怎么知道在哪个 CL分配给KSM的地址有多少?

这是我从余额中得到的:

{
  "account": {
    "nonce": "5",
    "consumers": "2",
    "providers": "1",
    "sufficients": "0",
    "data": {
      "free": "X.xx KSM",
      "reserved": "0",
      "miscFrozen": "X.xxx KSM",
      "feeFrozen": "X.xxx KSM"
    }
  }
}

但是“保留”或“冻结”都没有在拍卖中考虑锁定的 KSM。

众筹捐款从账户中转出并(安全地)存储在一个没有私钥且只有众筹托盘可以访问的新账户中。要获得您的贡献,您需要一个 ParaId,以及您要查询的十六进制编码的帐户地址。

const id: ParaId = ...;
// note that this must be hex, if you have a ss58 account, try: 
// `api.createType('AccountId', ss58).toHex()`
const accounts: string[] = ...;
const contribution = await api.derive.crowdloan.ownContributions(, accounts);

结果将是 Record<Account, Balance> 的地图。示例:https://github.com/polkadot-js/apps/blob/68a423748be49db2636a5cd66f9012706dcabbb4/packages/page-parachains/src/Crowdloan/useContributions.ts#L28

要获取所有平行链的列表(在不同的生命周期中),您可以这样做:

const allParaIds: ParaId[] = (await api.query.paras.paraLifecycles.entries()).map(([key, _]) => key.args[0]);

映射到 this 存储。

如果你只想要那些已经升级到平行链的,你可以使用 this 存储。