Dapp:代表去中心化应用程序。它们是在去中心化网络或区块链上运行后端代码(主要用Solidity编写的智能合约)的应用程序。可以使用React、Vue或Angular等前端框架构建Dapp。
智能合约dapp开发技术主要由以太坊区块链网络提供支持,该网络提供了一系列的智能合约技术,作为一种可能的Web3.0底层技术,区块链以去中心化、不可篡改、可溯源等特点,构建起数字经济时代的全新信任体系。
从技术角度分析, 区块链让数字资产价值流转的每一个节点都公开透明、有迹可循且不可篡改,这将会让Web3.0时代的一切交易变得更加真实可信。
这些智能合约可以让开发者快速、安全地构建出功能强大的dapp。智能合约dapp开发技术主要包括以太坊智能合约语言Solidity,以太坊智能合约框架Truffle,Web3.js,以太坊区块链浏览器Mist等
智能合约:它们是存储在区块链上的计算机程序,在满足预定条件时运行,智能合约是用Solidity语言编写的。
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。