NFT是咱们用以代表独特物品所有权的代币【181公链2591開发3365微电】NFT让咱们把诸如艺术品、收藏品、甚至房地产等物品代币化。他们一次只有一个正式客人,并且受到以太坊***的爱护–没有人能够批改所有权记录或者依据现有的NFT复制粘贴一份新的。
NFT是一种数字化代币或者资产,可以把它理解为一种数字交易代币或者数字艺术品,每当你购买一个NFT,实际上你买的是这个数字资产的所有权。
NFT翻译为非同质化代币,每个NFT生成以后不能更改,它一定是和其他的数字资产不一样,例如一个比特币一定是和另一个比特币是完全一样,而每个NFT都是不一样的,实际上一个NFT的背后只是一串随机生成的代码,NFT拥有者只是拥有了一串永远不变并且唯一性的代码,那么在技术层面的NFT到底是什么?
pragma solidity^0.8.4;
import' openzeppelin/contracts/token/ERC721/ERC721.sol';
import' openzeppelin/contracts/access/Ownable.sol';
//继承ERC721,Ownable
contract SimpleMintContract is ERC721,Ownable{
//mint价格
uint256 public mintPrice=0.05 ether;
//总共曾经被mint数量
uint256 public totalSupply;
//能够mint的*大数量
uint256 public maxSupply;
//是否开启mint
bool public isMintEnabled;
//每个地址mint=>数量
mapping(address=>uint256)public mintedWallets;
//构造函数,部署合约的时候,设置*大数量为2
constructor()payable ERC721('Simple Mint','SIMPLEMINT'){
maxSupply=2;
}
//内部调用函数,开启mint
function toggleIsMintEnabled()external onlyOwner{
isMintEnabled=!isMintEnabled;
}
//设置*大mint数量
function setMaxSuppley(uint256 _maxSupply)external onlyOwner{
maxSupply=_maxSupply;
}
//mint函数
function mint()external payable{
//require判断函数,前半部判断为false,则抛出后半局部信息
//判断是否开启mint
require(isMintEnabled,'minting not enabled');
//判断地址是否曾经mint
require(mintedWallets[msg.sender]totalSupply,'sold out');
mintedWallets[msg.sender]++;
totalSupply++;
uint256 tokenId=totalSupply;
_safeMint(msg.sender,tokenId);
}
}
技术上来讲,谁拥有这个服务器,谁还能更改这张图片,所以你必须要知道你买来的NFT其实只是一串放在某个服务器上的代码,这个代码被赋予了某张图片音频或者视频,你也必须知道这个服务器可以被更改,这个图片音频或者视频可以被更改,你只是在***上拥有了这小串代码,你没有这个服务器的管理权,也没有这张图片的管理权,你只是拥有了一串指向这个服务器的代码,而这串代码被赋予了一张图片。
- Tech-Finger游戏套利平台开发技术 2024-05-03
- DApp智能合约开发解决信任 2024-05-03
- 为NFTs选择区--块链开发生态选择这几个平台 2024-05-03
- AI+Web3结合-万事达推动音乐行业发展 2024-05-03
- 俄罗斯央行拟允许对外结算在“实验”环境中使用加密货币 2024-05-03
- 3D 虚拟场景自动生成解决方案 2024-05-03
- 佛萨奇2.0-Metaforce平台源码开发 2024-05-03
- 元宇宙GameFi游戏的未来 2024-05-03
- Web3 移动钱包应用开发资源 2024-05-03
- Web3中的几种质押选择,都是努力确保自己的核心 KPI 2024-05-03