DEV Community

Cover image for ¿Los NFTs dejarán obsoleto a Wall Street?
Ahmed Castro
Ahmed Castro

Posted on

¿Los NFTs dejarán obsoleto a Wall Street?

Los NFTs estan dándole un giro al arte moderno a través de las colecciones, juegos y smart contracts pero es questión de tiempo para que sean adoptados en bienes raices, licencias, tickets y otros bienes digitales o físicos. En este video veremos cómo pueden revolucionar los fondos indexados. ¿Qué son los fondos indexados? Son un mecanismo utilizado en finanzas tradicionales que nos ayudan a representar de un conjunto de bienes como si fuera uno solo. Los índices de NFTs son ideales para estrategias financieras pasivas y a largo plazo pues nos ayudan a quitarle complejidad al ecosistema DeFi. Adicionalmente, son fáciles de comprender y ayudán a ahorrar gas. A continuación crearemos un índice NFT de ETH y DAI en Polygon Ethereum Plasma.

Dependencias

Para este tutorial ocuparás Metamask conectado con Polygon Mainnet. También ocuparás fondos en MATIC, DAI y WMATIC que puedes conseguir desde Quickswap.

El Smart Contract

Lanza este contrato y transfierele 0.3 WMATIC y 0.3 DAI. El contrato te dará 3 NFTs cargados con 0.1 WMATIC y DAI cada uno. Estos tokens son transferibles y quemables. Si el dueño decide quemarlos el contrato le transferirá el dinero que contiene cada NFT.

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

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract IndexNFT is ERC721 {
    ERC20 WMATIC_token  = ERC20(0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270);
    ERC20 DAI_token     = ERC20(0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063);

    uint WMATIC_Index_value = 0.1 ether;
    uint DAI_Index_value    = 0.1 ether;

    constructor() ERC721("My NFT", "MNFT")
    {
        _mint(msg.sender, 0);
        _mint(msg.sender, 1);
        _mint(msg.sender, 2);
    }

    function burnNFT(uint tokenId) public
    {
        require(ownerOf(tokenId) == msg.sender, "Sender must be owner");
        WMATIC_token.transfer(ownerOf(tokenId), WMATIC_Index_value);
        DAI_token.transfer(ownerOf(tokenId), DAI_Index_value);
        _burn(tokenId);
    }
}
Enter fullscreen mode Exit fullscreen mode

¡Gracias por ver este tutorial!

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

Top comments (0)