0

我正在尝试为薄荷帐户获取 PDA,以获取 NFT 元数据。我正在使用 solana-py 库。

from solana import publickey

pda = publickey.PublicKey("AHZdk7qrX16vpw4oQgDcyhAR3SJtNS28epaznGrAvFxs").find_program_address(
seeds=[b"metadata"], program_id=publickey.PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"))

但我收到以下错误:

...site-packages\solana\publickey.py",第 87 行,在 find_program_address 中引发 NotImplementedError("find_program_address not implemented") NotImplementedError: find_program_address not implemented

有什么问题?

编辑1:

看了一些代码并尝试了这个但仍然无法正常工作

from solana.publickey import PublicKey

METADATA_PROGRAM_ID = PublicKey('metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s')
mint_key = "8Rjxaxy8ZNAGTojzQSAMSPatNiop9C9PRPY5A29qhrCT"

PDA = PublicKey.find_program_address(
        [b'metadata', bytes(METADATA_PROGRAM_ID), bytes(PublicKey(mint_key))],
        METADATA_PROGRAM_ID
    )[0]

print(PDA)

编辑2:

它是 solana-py 的版本,它正在使用!现在正在工作

4

1 回答 1

0

find_program_address只在类上定义,而不是在它的实例上。试着打电话PublicKey.find_program_address

于 2022-01-30T15:09:18.527 回答