Aquí está mi código,
import { Connection, programs } from "@metaplex/js"; const { metaplex: { Store, AuctionManager }, metadata: { Metadata }, auction: { Auction }, vault: { Vault }, } = programs; const publicKey = "Gz3vYbpsB2agTsAwedtvtTkQ1CG9vsioqLW3cNpvZ"; const connection = new Connection("devnet"); // Get the Metadata const metadata = await Metadata.load(connection, publicKey); const vault = await Vault.load(connection, publicKey); Error return new MetaplexError(ErrorCode.ERROR_INVALID_OWNER, 'Invalid owner');
Funciona en el caso de Metadata , pero no funciona en el caso de Vault o Auction .
Aquí está utilizando una dirección que es clave pública para ejecutar dos tipos diferentes de funciones que son completamente diferentes. En este caso, la clave pública de la bóveda se refiere a datos diferentes y la clave pública de metadatos se refiere a datos diferentes. Para explicarlo más Metadata.load(connection,pubkey) aquí la clave pública es la clave pública de metadatos y se refiere a metadatos específicos, mientras que Vault se refiere a los datos del Administrador de programas de subastas. Para profundizar, más en él podría pasar por el código js repo.
Por cierto, Metaplex-foundation/js repo ha quedado obsoleto y pronto será reemplazado por Metaplex-foundation/next-js, que está en desarrollo activo.