我正在尝试从公钥中获取帐户:
await program.account.myAccountType.fetch(somePubkey);
但随后 Anchor 抛出一个错误说:
Invalid account discriminator
什么是帐户鉴别器?
我正在尝试从公钥中获取帐户:
await program.account.myAccountType.fetch(somePubkey);
但随后 Anchor 抛出一个错误说:
Invalid account discriminator
什么是帐户鉴别器?
帐户鉴别器是 Anchor 放在帐户前面的几个字节,例如标头。它让锚知道它应该将数据反序列化为哪种类型的帐户。
如果您尝试将某些内容获取为 ,则会发生此错误myAccountType
,但它实际上是某个其他帐户的公钥,例如令牌帐户或程序中的另一个帐户。
以下是您可以尝试的一些事情:
somePubkey
并将其放入资源管理器program.account.myAccountType
而不是program.account.someOtherAccountType
。