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

254
Visualizações
¿Cómo se pueden cargar metadatos json en IPFS mediante códigos javascript y cómo se puede acuñar programáticamente esta URL mediante la interfaz?

Comienzo a estudiar NFT basado en el flujo del proyecto IPFS: 1- instalar IPFS 2- cargar una foto de activos de IPFS y obtener un hash 3- crear un archivo json de metadatos con esta URL hash

 { "name": "NFT", "description": "This image shows the true nature of NFT.", "image": "https://ipfs.io/ipfs/QmUnMkaEB5FBMDhjPsEtLyHr4ShSAoHUrwqVryCeuMosNr" }

4- cargue este archivo json en IPFS y obtenga la siguiente URL hash

 https://ipfs.io/ipfs/QmNSKewexhgY4rYwPoxPgNFN7BSjeiLXJif9q5FjeCrsmg

5-Ir a la solidez y crear la función de acuñación e implementar mediante la red MATIC Mumbai

 // SPDX-License-Identifier: MIT pragma solidity ^0.8.6; import "https://github.com/0xcert/ethereum-erc721/src/contracts/tokens/nf-token-metadata.sol"; import "https://github.com/0xcert/ethereum-erc721/src/contracts/ownership/ownable.sol"; contract newNFT is NFTokenMetadata, Ownable { constructor() { nftName = "Synth NFT"; nftSymbol = "SYN"; } function mint(address _to, uint256 _tokenId, string calldata _uri) external onlyOwner { super._mint(_to, _tokenId); super._setTokenUri(_tokenId, _uri); } }

6-Después de implementar este contrato y menta de la siguiente manera

MENTA

7- vaya a opensea testnet and collection, elija mumbai e inserte la dirección del propietario de NFT

8 - finalmente ver NFT en la colección testnet

Pero quiero hacer esto programáticamente en javascript. ¿Cómo puedo cargar el archivo json de metadatos en IPFS mediante javascript y ya hay una plantilla? ¿Dónde está la fuente? Lo entiendo, gracias. Soy principiante en NFT.

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

0

Hay muchas maneras de hacer esto en javascript. Si desea hacerlo todo en un solo archivo, primero debe implementar sus archivos en IPFS. Recomiendo utilizar alguna de las pocas API existentes para hacerlo más fácil, como Moralis, Nft.storage o Piñata.

Con NFT.storage, puede hacer algo como esto para implementar IPFS:

 const names = [ "Test nft 1", "Test nft 2" ]; async function storeImage() { const content = await fs.readFile( path.resolve(__dirname, "../images/owl_articles.png") ); const promisesToAwait: Promise<any>[] = []; names.forEach((name) => { promisesToAwait.push( client.store({ name, description: `At vero eos et accusamus et iusto odio dignissimos.`, image: new File([content], "owl_articles.png", { type: "image/*" }), }) ); }); const responses = await Promise.all(promisesToAwait); console.log(responses); } async function main() { await storeImage(); } main();

El fragmento de código anterior implementará una matriz de archivos json en IPFS, dados los names de la matriz. Todos tienen la misma image y description en aras de la simplicidad del ejemplo.

En moralis, puedes hacer algo similar:

 const jsonFile = new Moralis.File('file.json', { base64: btoa(JSON.stringify({ name, description, image: imageURL })) });

El código anterior también se implementará en ipfs, pero de una manera diferente. No sé por qué en este momento, pero mientras este enfoque de Moralis lo implementa con ipfs://{hash} NFt.storage, el enfoque lo implementa como ipfs://{hash}/metadata.json .

De todos modos, después de usar cualquiera de los procesos anteriores, debe acuñar su NFT pasando el URI como parámetro.

Usando moralis, puedes hacerlo así:

 const jsonIpfsLink = `ipfs://${(jsonFile as any).hash()}/metadata.json`; await Moralis.Web3.executeFunction({ ...options, functionName: 'create', params: { _initialSupply: '10', _uri: jsonIpfsLink } });

El código anterior llama al método create desde mi contrato ERC1155. El método de contratación se muestra a continuación:

 /** * @dev Creates a new token type and assigns _initialSupply msg.sender address * @param _initialSupply amount to supply the first owner * @param _uri URI for this token */ function create(uint256 _initialSupply, string memory _uri) public { _uris[lastId.current()] = _uri; creators[lastId.current()] = msg.sender; _mint(msg.sender, lastId.current(), _initialSupply, ""); emit ArticleMinted(msg.sender, _uri, lastId.current(), _initialSupply); lastId.increment(); }

Mi ejemplo usa el patrón ERC1155, pero debería ser muy similar al patrón ERC721. Parece que no está utilizando ninguno de ellos en su contrato, pero le recomiendo encarecidamente que lo haga. Además, Moralis te haría la vida más fácil. Sugeriría usarlo en su proyecto front-end.

Estoy creando un mercado de NFT y utilizo prácticamente el código anterior para implementarlo en IPFS e inmediatamente después.

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