Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

135
Visualizações
Candy Machine V2: tratando de obtener todos los nft creados por una máquina de dulces

Estoy tratando de averiguar todos los nft que fueron creados por una máquina de dulces. Estoy tan confundido con el v2. Esto es lo que he hecho hasta ahora.

 async function getProgramAccounts( connection, programId, configOrCommitment, ) { const extra = {}; let commitment; //let encoding; if (configOrCommitment) { if (typeof configOrCommitment === 'string') { commitment = configOrCommitment; } else { commitment = configOrCommitment.commitment; //encoding = configOrCommitment.encoding; if (configOrCommitment.dataSlice) { extra.dataSlice = configOrCommitment.dataSlice; } if (configOrCommitment.filters) { extra.filters = configOrCommitment.filters; } } } const args = connection._buildArgs([programId], commitment, 'base64', extra); const unsafeRes = await (connection)._rpcRequest( 'getProgramAccounts', args, ); return unsafeRes.result; }

Según el chat de discordia metaplex anterior. Necesito obtener el primer creador que con esta función

 const deriveCandyMachineV2ProgramAddress = async ( candyMachineId, ) => { const candyMachineID = new PublicKey(candyMachineId); return await PublicKey.findProgramAddress( [Buffer.from('candy_machine'), candyMachineID.toBuffer()], candyMachineProgram, ); };

para obtener las tablas hash de la siguiente manera

 const fetchHashTable = async (hash, metadataEnabled) => { const connection = new web3.Connection( process.env.REACT_APP_SOLANA_RPC_HOST ); const creatorKey = await deriveCandyMachineV2ProgramAddress(hash) const metadataAccounts = await getProgramAccounts( connection, { filters: [ { memcmp: { offset: 1 + 32 + 32 + 4 + MAX_NAME_LENGTH + 4 + MAX_URI_LENGTH + 4 + MAX_SYMBOL_LENGTH + 2 + 1 + 4 + 0 * MAX_CREATOR_LEN, bytes: creatorKey, }, }, ], } ); const mintHashes = []; for (let index = 0; index < metadataAccounts.length; index++) { const account = metadataAccounts[index]; const accountInfo = await connection.getParsedAccountInfo(account.pubkey); const metadata = new Metadata(hash.toString(), accountInfo.value); if (metadataEnabled) mintHashes.push(metadata.data); else mintHashes.push(metadata.data.mint); } console.log(mintHashes, 'minthashes') return mintHashes; };

El problema es que mi función getProgramAccounts no devuelve nada.

¿Alguien puede decirme qué estoy haciendo mal?

Gracias

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

derivaCandyMachineV2ProgramAddress debe devolver una matriz con 2 valores, por lo que para obtener la clave del creador necesita acceder al primer elemento: const [creatorKey] = await deriveCandyMachineV2ProgramAddress(hash) y esto devolverá una interfaz de clave pública, así que simplemente cambie bytes: creatorKey a bytes: creatorKey.toBase58()

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda