使用 UUID 为一个 Public 密钥派生多个 PDA

Derive multiple PDAs for one Public Key with a UUID

我正在尝试使用生成的种子派生多个 PDA,并得到屏幕截图中显示的错误。如果我不使用 uuid 而只使用种子和 PDA 的 public 密钥,它就可以正常工作。

create_planet

planet_struct

rpc_call

error

在您的 lib.rs 行星结构中,种子格式不正确

应该是这样的 seeds=[b"planet",payer.key.as_ref(),&[uuid as u8]]

并在您的 rpc 调用文件中

[anchor.utils.bytes.utf8.encode("planet"),
          wallet.publicKey.toBuffer(),
          new anchor.BN(80).toArrayLike(Buffer)]