verze-app / solana-php-sdk

Simple PHP SDK for Solana JSON RPC endpoints
MIT License
88 stars 45 forks source link

Invalid metadata address #26

Closed nitruoc closed 2 years ago

nitruoc commented 2 years ago

Hello!

I'm trying to retrieve metadata from an NFT using the code sample in #22. It's working pretty well but for some NFTs the metadata address retrieve by findProgramAddress is'nt the good one.

Example :

Mint: 887sH18E7pkUco4zfUFZxiXAEsgCVRd6vNX5HaT9CSmC Expected metadata address: 8HXWP5BQ83riaGdYofKqcKLkbgeusy6efNc4E6ZDHj6s Metadata generated: 7C8w6HC1bMqDMV6nC9Krmz7qV1eTutmsprb57F1nx6Xd

$metaplex = new PublicKey(MetaplexProgram::METAPLEX_PROGRAM_ID);
list($pda, $bump) = PublicKey::findProgramAddress(['metadata', $metaplex, (new PublicKey($mint))], $metaplex);
$address = $pda->getPublicKey()->toBase58();
neverything commented 2 years ago

Hey I've been using a workaround in my job classes, see https://github.com/tighten/solana-php-sdk/issues/12#issue-1027315555

nitruoc commented 2 years ago

It's working! Thanks for your help!