NFT數字藏品質押借貸挖礦dapp系統開發合約技術詳情

nice1022發表於2023-03-03

NFT合約標準介紹

目前,NFT(Non-Fungible Tokens)最為主流有三種合約:ERC-721、ERC-1155和ERC-998。

在NFT的最初期,開發I34-合約I633-部署53I9大家嚴格遵守NFT的定義規範,也就是ERC-721規範,早年非常火熱的加密貓系列就是基於該規範開發的。從 ERC-721 協議標準來看,每一個基於ERC-721建立的NFT都是獨一無二、不可複製的。使用者可以在智慧合約中編寫一段程式碼來建立自己的NFT,該段程式碼遵循一個比較基礎的通用模版格式,可透過該程式碼新增關於NFT的所有者名稱、後設資料或安全檔案連結等細節。

 *Submitted for verification at Etherscan.io on 2022-12-28*/
pragma solidity ^0.4.17;/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */library SafeMath {    function mul(uint256 a, uint256 b) internal pure returns (uint256) {        if (a == 0) {            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);        return c;
    }    function div(uint256 a, uint256 b) internal pure returns (uint256) {        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);        return a - b;
    }    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);        return c;
    }
}/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */contract Ownable {
    address public owner;    /**
      * @dev The Ownable constructor sets the original `owner` of the contract to the sender
      * account.
      */
    function Ownable() public {
        owner = msg.sender;
    }    /**
      * @dev Throws if called by any account other than the owner.
      */
    modifier onlyOwner() {        require(msg.sender == owner);
        _;
    }    /**
    * @dev Allows the current owner to transfer control of the contract to a newOwner.
    * @param newOwner The address to transfer ownership to.
    */
    function transferOwnership(address newOwner) public onlyOwner {        if (newOwner != address(0)) {
            owner = newOwner;
        }
    }


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70011332/viewspace-2938065/,如需轉載,請註明出處,否則將追究法律責任。

相關文章