去中心化应用程序(Dapps)运行在分布式网络上,参与者的信息受到安全保护(也可能是匿名的)。集中操作。分布式网络是由分布在不同位置、具有多个终端的节点机器互连而成。当网络中任意一条线路发生故障时,可通过其他链路完成通信,可靠性高。
在区块链技术中的数据有一定的顺序性,每个数据区块都有一个“哈希值”代码,在链状数据结构中,任意区块中的数据改变都会影响后续与之相关所有区块的信息变化。这一技术确保区块链上的每个区块数据都不能随意被篡改、删除或破坏。因此,区块链技术在保证电子档案完整、真实的基础上还具有较强的追溯性
Dapp应用程序必须是开源的,Dapp发行的大多数代币都是自主运行的,而不是由实体控制,所有数据和记录都必须加密并存储在公共和去中心化的区块链上。
interface IERC4907{
//Logged when the user of a NFT is changed or expires is changed
///notice Emitted when theuser
of an NFT or theexpires
of theuser
is changed
///The zero address for user indicates that there is no user address
event UpdateUser(uint256 indexed tokenId,address indexed user,uint64 expires);
///notice set the user and expires of a NFT
///dev The zero address indicates there is no user
///Throws iftokenId
is not valid NFT
///param user The new user of the NFT
///param expires UNIX timestamp,The new user could use the NFT before expires
function setUser(uint256 tokenId,address user,uint64 expires)external;
///notice Get the user address of an NFT
///dev The zero address indicates that there is no user or the user is expired
///param tokenId The NFT to get the user address for
///return The user address for this NFT
function userOf(uint256 tokenId)external view returns(address);
///notice Get the user expires of an NFT
///dev The zero value indicates that there is no user
///param tokenId The NFT to get the user expires for
///return The user expires for this NFT
function userExpires(uint256 tokenId)external view returns(uint256);
}
userOf(uint256 tokenId)函数可以作为pure或view函数实现。
userExpires(uint256 tokenId)函数可以作为pure或view函数实现。
setUser(uint256 tokenId,address user,uint64 expires)函数可以作为public或external函数实现。
UpdateUser事件必须在用户地址更改或用户过期时发出。
当用0xad092b5c调用时,SupportsInterface方法必须返回true。