首页 > 区块链 > 区块链 > NFT交易平台商城开发系统钱包搭建技术
非同质化代币(NFT)是指基于区块链技术,用于表示数字化资产或数字资产的独一加密令牌,不同于比特币等同质化代币,具有不可分割、不可替代的特性,使用非同质化代币,为具有特定价值的特定资产安全方便的标识了其在区块链上的所有权。
1)a unique digital identifier that cannot be copied,substituted,or subdivided,that is a recorded in a blockchain,and that is used to certify authenticity and ownership(as of a specific digital asset and specifc rights relating to it);
2)the asset that is represented by an NFT.
(1)NFT是一种 独一的数字表示,不能被复制、更换、切分,记录在区块链之中,用于检验真实性和所有权(例如特定数字资产或相关特定权利);
(2)可以用一个NFT来表征的资产。换句话说,NFT是一种记录在区块链里,不能被复制、更换、切分的,用于检验特定数字资产真实性或权利的 独一数据表示。NFT可以用来表征某个资产。
NFT非同质化代币|NFT定义_NFT是什么
NFT为非同质化代币,与非同质化代币NFT相对应的就是同质化代币FT(Fungible Token),又是一个陌生的名词,但提到它其中一个代表,你就很容易明白了——比特币。FT是可以随意互换、拆分及整合的,具有统一性的代币。就比如说,你手中的一枚比特币和我手中的一枚比特币,本质上是完全一模一样的,没有任何区别,而且还可以被分割成0.1个,这就是同质化的代币。
再举一个例子,美元等法定货币就是很好的同质化例子。张三拥有5美元钞票,李四也有5美元钞票,两人的钞票可以相互交换,而没有任何变化和影响。
非同质化的一个极端例子是艺术品。例如,一幅画通常仅会有一个原始本。
NFT非同质化代币|NFT定义_NFT是什么
二、NFT特点
NFT的定义更宜为:基于区块链等加密技术产生的,具有(1)不可复制(2)不可修改(3)不能切分的确认权属和真实性的虚拟财产或财产性利益的凭证。
独一性:每个NFT具有不同属性,这些属性通常存储在代币的元数据中。
可证明的稀缺性:一般仅有少量NFT只有一个副本,代币数量可以在区块链上验证,具有可证明性。
不可分割性:大多数NFT无法拆分,因此不能购买或转让NFT的一部分。
三、NFT标准:以太坊ERC-721和ERC-1155为标准z流行。
NFT非同质化代币|NFT定义_NFT是什么
尽管NFT可以在任何支持智能合约编程的区块链上部署,但以太坊ERC-721和ERC-1155标准是最引人注目的。
ERC-20是在以太坊区块链上创建代币的知名标准,USDT、DAI等稳定币以及LEND、YFI、SNX和UNI等DeFi代币都使用这一标准。
ERC-721是创建非同质化代币的通用标准。ERC-721允许创建具有不同属性的可区别代币的合同。
ERC-1155用于创建非同质化代币的下一步,它允许创建同时支持同质化和非同质化代币的合同。该标准是由基于区块链的游戏项目Enjin开发。
ERC-1155标准允许开发人员自由定义同质化和非同质化代币,并规定这些代币的数量。
四、NFT+DeFi
NFT可以借助去中心化金融释放更多潜力。当前,绝大多数DeFi借贷协议都需抵押品。最有趣的一个想法是将NFT用作抵押。这意味着,可以把代表艺术品、数字土地甚至代币化房产的NFT作为抵押品,然后借贷出其他资产。
除了用作抵押品,NFT还能用于保险、债券或期权等更复杂的金融产品中。Yearn Finance的Yinsure是保险领域应用NFT的案例。在Yinsure中,每个保险合同都用NFT表示,可以在Rarible等二级市场上交易。
智能合约和NFT相结合,NFT可以用于私募,持有NFT可以分U,纯智能合约实现,
现在开源代码,如下。
//SPDX-License-Identifier:MIT
pragma solidity^0.8.6;
abstract contract Context{
function _msgSender()internal view virtual returns(address){
return msg.sender;
}
function _msgData()internal view virtual returns(bytes memory){
this;
//silence state mutability warning without generating bytecode-see
return msg.data;
}
}
interface IUniswapV2Pair{
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
event Transfer(address indexed from,address indexed to,uint256 value);
function name()external pure returns(string memory);
function symbol()external pure returns(string memory);
function decimals()external pure returns(uint8);
function totalSupply()external view returns(uint256);
function balanceOf(address owner)external view returns(uint256);
function allowance(address owner,address spender)
external
view
returns(uint256);
function approve(address spender,uint256 value)external returns(bool);
function transfer(address to,uint256 value)external returns(bool);
function transferFrom(
address from,
address to,
uint256 value
)external returns(bool);
function DOMAIN_SEPARATOR()external view returns(bytes32);
function PERMIT_TYPEHASH()external pure returns(bytes32);
function nonces(address owner)external view returns(uint256);
function permit(
address owner,
address spender,
uint256 value,
uint256 deadline,
uint8 v,
bytes32 r,
bytes32 s
)external;
event Mint(address indexed sender,uint256 amount0,uint256 amount1);
event Burn(
address indexed sender,
uint256 amount0,
uint256 amount1,
address indexed to
);
event Swap(
address indexed sender,
uint256 amount0In,
uint256 amount1In,
uint256 amount0Out,
uint256 amount1Out,
address indexed to
);
event Sync(uint112 reserve0,uint112 reserve1);
function MINIMUM_LIQUIDITY()external pure returns(uint256);
function factory()external view returns(address);
function token0()external view returns(address);
function token1()external view returns(address);
function getReserves()
external
view
returns(
uint112 reserve0,
uint112 reserve1,
uint32 blockTimestampLast
);
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70020115/viewspace-2944367/ ,如需转载,请注明出处,否则将追究法律责任。