首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solana Candy machine TypeError:无法读取未定义的属性(读取'_bn')

Solana Candy machine TypeError:无法读取未定义的属性(读取'_bn')
EN

Stack Overflow用户
提问于 2021-12-05 14:21:07
回答 3查看 3.8K关注 0票数 0

我正在跟踪这篇文章作为一种实践。

代码语言:javascript
复制
ts-node packages/cli/src/candy-machine-cli.ts verify --env devnet --keypair "C:\Windows\System32\~\.config\solana\devnet.json"

当我试图验证糖果机时,我碰到了

(C:\Users\my-userName\Source\Repos\metaplex\js\node_modules@solana\web3.js\src\publickey.ts:29:35) at new PublicKey (C:\Users\my-userName\Source\Repos\metaplex\js\node_modules@solana\web3.js\src\publickey.ts:45:9) at C:\Users\my-userName\Source\Repos\metaplex\js\packages\cli\src\candy,TypeError:无法读取未定义属性(读取'_bn')-机器-cli.ts:326:27在step (C:\Users\my-userName\Source\Repos\metaplex\js\packages\cli\src\candy-machine-cli.ts:64:23) at Object.next (C:\Users\my-userName\Source\Repos\metaplex\js\packages\cli\src\candy-machine-cli.ts:45:53) at Object.next (C:\Users\my-userName\Source\Repos\metaplex\js\packages\cli\src\candy-machine-cli.ts:36:58)在processTicksAndRejections (节点:内部/进程/任务队列:96:5)

通过在互联网上快速搜索,有些人说我需要首先创造糖果机器。所以我跑了

代码语言:javascript
复制
ts-node packages/cli/src/candy-machine-cli.ts create_candy_machine --env devnet --keypair "C:\Windows\System32\~\.config\solana\devnet.json"

但也给了我同样的错误。

感谢你对我如何解决这个问题的任何建议。

EN

回答 3

Stack Overflow用户

发布于 2021-12-11 17:13:03

在试图解决另一个问题时,我发现这个问题与我正在使用的ts-node版本有关。

使用以下命令更新后问题得到解决

代码语言:javascript
复制
npm i ts-node@latest
票数 1
EN

Stack Overflow用户

发布于 2022-01-25 21:18:57

您需要为getNameAccountKey提供一个公钥。

代码语言:javascript
复制
import { Connection, PublicKey } from '@solana/web3.js';
import { getHashedName, getNameAccountKey, NameRegistryState } from '@solana/spl-name-service';
...
class SomeClass {

  constructor(private readonly configService: ConfigService) {
    this.publicKey = new PublicKey(
      this.configService.get('SOLANA_NAME_SERVICE_PUBLIC_KEY'), // that public key taken from `.env` config file
    );
  }

  ...

  private async resolveSnsName(name: string, connection: Connection): Promise<string> {
    try {
      const parsedName = name.replace('.sol', '');
      const hashedName = await getHashedName(parsedName);
      const domainKey = await getNameAccountKey(hashedName, undefined, this.publicKey);
      const registry = await NameRegistryState.retrieve(connection, domainKey);
      return registry.owner.toBase58();
    } catch {
      return null;
    }
  }
}
票数 1
EN

Stack Overflow用户

发布于 2022-02-10 18:17:57

对于从现在开始看到这一点的人(至少直到其他任何更新都使此过时为止),您也可以获得此错误,仅仅是因为您试图创建一个糖果机器v1,而我在Metaplex上被告知它将不再起作用。

确保您遵循使用v2的步骤(在我编写本文的日期),如这里的正式文档:https://docs.metaplex.com/candy-machine-v2/configuration中所述。您只需对v2包使用不同的命令。

查看文档以确认您已经准备好了,但作为保证,如果您的资产已经设置并准备就绪,请从这里开始步骤2的配置(只要一旦需要粘贴正确的路径,就可以在任何地方创建配置文件),然后转到第4步。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70235249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档