DEV Community

Cover image for Cómo personalizar tu Colección en OpenSea desde Solidity
Ahmed Castro
Ahmed Castro

Posted on

Cómo personalizar tu Colección en OpenSea desde Solidity

Al crear un contrato, OpenSea automáticamente crea una colección por nosotros. Pero para poder editarla debemos implementar el contrato de Ownable de Openzeppelin desde Solidity.

OpenSea nos permite personalizar y configurar nuestra página de nuestra colección.

1. Lanza tu smart contract ERC-721

Este contrato fue creado en base a nuestro tutorial sobre tutorial sobre NFTs.

Observarás que importamos el Ownable.sol de OpenZeppelin lo implementamos en nuestro contrato. Esto no solo habilita el modo edición en OpenSea sino que también habilita el modifier onlyOwner que restringe el uso de las funciones seleccionadas para que solo puedan ser ejecutadas por el address creador o a quien pertenezca el contrato.

// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

contract MyNFT is ERC721, Ownable {
    uint256 token_count;

    function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {
        require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token");
        return "https://raw.githubusercontent.com/Turupawn/NFTest/main/logo_big.png";
    }

    function mintNFT(address to) public onlyOwner
    {
        token_count  += 1;
        _mint(to, token_count);
    }

    constructor() ERC721("My NFT", "MNFT") {}
}
Enter fullscreen mode Exit fullscreen mode

2. Editar tu colección

Una vez lanzado el contrato crea al menos un NFT para que la colección aparezca en OpenSea. Si tu colección no aparece de inmediato puedes esperar un rato o probar desde este link en testnet o este desde mainnet.

Esto te llevará a la página de tu colección. Observarás que ahora puedes editarla.

Gracias por ver este tutorial!

Sígueme en dev.to y en Youtube para todo lo relacionado al desarrollo en Blockchain en Español.

Discussion (1)

Collapse
nicolasmarin profile image
Nicolás Marín Torres

Justo quiero liberar mi primera colección entre esta semana y la que viene! Siguiendo tus videos y en testnet ya tengo hecho todo, pero viendo los precios para desplegarlo en el main net de ethereum he terminado decantarme hacerlo a través de OpenSea todo, pero claro pierdo muchas de las posibilidades que te ofrece tu propio contrato inteligente... por otro lado no se como lo hacen pero el gas a pagar al mintear con un contrato propio es mucho MÁS CARO que gas a pagar al adquirir un recurso subido a opensea... entiendo que la operacion será más complicada...

Como sugerencia para un próximo video (o próximos videos), montar un dapp donde haya usuarios que suban contenido premium y otros usuarios que puedan desbloquear y ver este contenido pagando con un BEP 20 jejeje, bueno esto daria para una serie de vídeos de un caso super práctico, pero seria realmente MUY interesantes para los que nos estamos introduciendo en este mundillo gracias a tí!

Si necesitas ayudantes para darle forma a ese dapp y ponerlo en github en abierto, me ofrezco!