前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NFT元宇宙挖矿生态系统开发部署详情

NFT元宇宙挖矿生态系统开发部署详情

原创
作者头像
开发v_hkkf5566
发布2022-11-08 10:47:04
2400
发布2022-11-08 10:47:04
举报
文章被收录于专栏:技术开发分享

随着 Web3 和 NFT 领域的繁荣发展,越来越多的开发者涌进了 Web3 行业。大部分的 Web3 项目在开发过程中,都需要使用一部分 NFT 相关的数据,由此也产生了对 NFT API 数据服务的需求。

函数修饰符,实践和状态变量

现在实现函数修饰符,事件以及这个 App 的存储数据的状态变量。以下代码中的评论会说明这些东西都使用在了哪里,或者你可以参考 GitHub 代码仓库

代码语言:javascript
复制
contract NftMarketplace is ReentrancyGuard {

    struct Listing {
        uint256 price;
        address seller;
    }

   event ItemListed(
        address indexed seller,
        address indexed nftAddress,
        uint256 indexed tokenId,
        uint256 price
    );

   // State Variables
   mapping(address => mapping(uint256 => Listing)) private s_listings;
   mapping(address => uint256) private s_proceeds;

   // Function modifiers
   modifier notListed(
        address nftAddress,
        uint256 tokenId,
        address owner
   ) {
        Listing memory listing = s_listings[nftAddress][tokenId];
        if (listing.price > 0) {
            revert AlreadyListed(nftAddress, tokenId);
        }
        _;
    }

编写可升级合约

代码语言:javascript
复制
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";

contract OpenProxy is Initializable {
    uint public value;

    function initialize(uint _value) public initializer {
        value = _value;
    }

    function increaseValue() external {
        ++value;
    }
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 函数修饰符,实践和状态变量
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档