3M互助公排智慧合約系統開發(詳細及規則)丨3M互助公排智慧合約系統開發(原始碼邏輯)
區塊鏈是分散式資料儲存、點對點傳輸、共識機制、加密演演算法等計算機技術的新型應用模式。
狹義來講,區塊鏈是一種按照時間順序將資料區塊以順序相連的方式組合成的一種鏈式資料結構,並以密碼學方式保證的不可篡改和不可偽造的分散式賬本。
廣義來講,區塊鏈技術是利用塊鏈式資料結構來驗證與儲存資料、利用分散式節點共識演演算法來生成和更新資料、利用密碼學的方式保證資料傳輸和訪問的安全、利用由自動化指令碼程式碼組成的智慧合約來程式設計和運算元據的一種全新的分散式基礎架構與計算方式。
關於區塊鏈專案技術開發唯:MrsFu123,代幣發行、dapp智慧合約開發、鏈遊開發、單雙幣質押、多鏈錢包開發、NFT盲盒遊戲、公鏈、鏈上游戲開發
Uniswap博餅、交易所開發、量化合約開發、合約對沖、互助遊戲開發、Nft數字藏品開發、眾籌互助開發、元宇宙開發、swap開發、DAO智慧合約、
夾子合約、鏈上合約開發、ido開發、商城開發等,開發過各種各樣的系統模式,更有多種模式、制度、案例、後臺等,成熟技術團隊,歡迎實體參考。
在區塊鏈技術中的資料有一定的順序性,每個資料區塊都有一個“雜湊值”程式碼,在鏈狀資料結構中,任意區塊中的資料改變都會影響後續與之相關所有區塊的資訊變化。這一技術確保區塊鏈上的每個區塊資料都不能隨意被篡改、刪除或破壞。因此,區塊鏈技術在保證電子檔案完整、真實的基礎上還具有較強的追溯性
//SPDX-License-Identifier:MIT
pragma solidity^0.8.0;
import"openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import"./IERC4907.sol";
contract ERC4907 is ERC721URIStorage,IERC4907{
struct UserInfo{
address user;//address of user role
uint64 expires;//unix timestamp,user expires
}
mapping(uint256=>UserInfo)internal _users;
constructor(string memory name_,string memory symbol_)ERC721(name_,symbol_){}
///notice set the user and expires of a NFT
///dev The zero address indicates there is no user
///Throws if`tokenId`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
)public virtual override{
require(
_isApprovedOrOwner(msg.sender,tokenId),
"ERC721:transfer caller is not owner nor approved"
);
UserInfo storage info=_users[tokenId];
info.user=user;
info.expires=expires;
emit UpdateUser(tokenId,user,expires);
}
///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)
public
view
virtual
override
returns(address)
{
if(uint256(_users[tokenId].expires)>=block.timestamp){
return _users[tokenId].user;
}else{
return address(0);
}
}
///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)
public
view
virtual
override
returns(uint256)
{
return _users[tokenId].expires;
}
///dev See{IERC165-supportsInterface}.
function supportsInterface(bytes4 interfaceId)
public
view
virtual
override
returns(bool)
{
return
interfaceId==type(IERC4907).interfaceId||
super.supportsInterface(interfaceId);
}
function _beforeTokenTransfer(
address from,
address to,
uint256 tokenId
)internal virtual override{
super._beforeTokenTransfer(from,to,tokenId);
if(from!=to&&_users[tokenId].user!=address(0)){
delete _users[tokenId];
emit UpdateUser(tokenId,address(0),0);
}
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69956839/viewspace-2944171/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MMM互助智慧合約(3M)公排互助迴圈智慧合約系統開發
- DAPP智慧合約互助公排開發說明丨DAPP智慧合約互助公排系統開發(方案及原始碼)APP原始碼
- DAPP互助合約公排系統開發詳情案例丨DAPP公排合約互助系統開發(邏輯專案)及原始碼APP原始碼
- MMM丨3M丨MMMBSC迴圈互助公排智慧合約系統開發(開發案例)及原始碼詳細原始碼
- 3M互助公排Dapp系統開發智慧合約編寫詳情(原始碼)APP原始碼
- 3M/MMMBSC互助智慧合約系統開發(詳細及規則)
- DAPP智慧合約公排互助系統開發詳細方案及原始碼APP原始碼
- DAPP智慧合約互助公排系統開發邏輯demoAPP
- 3M/MMM/BSCMMM迴圈互助公排智慧合約系統開發
- 3M/MMM/BSCMMM迴圈互助公排智慧合約系統開發說明功能丨詳細原始碼原始碼
- CYBERDAO公排互助系統開發智慧合約搭建
- DAO公排互助開發/佛薩奇智慧合約系統開發/公排互助模式詳情模式
- BSC/MMM互助公排智慧合約系統開發規則及詳情丨成熟技術
- FDF智慧合約互助公排系統開發模式方案模式
- DAPP區塊鏈互助公排智慧合約系統開發玩法規則/詳細案例/功能原始碼APP區塊鏈原始碼
- MMM(3M)互助dapp系統開發智慧合約部署詳細邏輯介紹APP
- MMM互助矩陣公排智慧合約系統開發詳情矩陣
- MMM/3M互助智慧合約開發穩定版,MMM/3M互助智慧合約系統開發成熟及技術(原始碼功能)原始碼
- 普及一下:3M互助合約丨MMM互助智慧合約模式系統開發原始碼搭建模式原始碼
- DAPP公排互助拆分系統開發(邏輯方案)丨DAPP拆分互助公排系統開發(程式碼詳細)APP
- 3M/MMMBSC/FDF迴圈互助公排智慧合約系統開發成熟技術丨原始碼運營版原始碼
- 公排互助開發方案丨公排互助系統開發詳解及說明丨公排互助系統原始碼案例設計原始碼
- FDF智慧合約互助公排遊戲系統開發方案遊戲
- 智慧合約互助公排DAPP系統開發技術案例APP
- DAPP合約公排互助系統開發(詳情功能)APP
- 大小雙軌公排互助開發詳細丨大小雙軌公排互助系統開發(規則及方案)
- 3M互助丨MMMBSC互助複利智慧合約系統設計開發方案
- MMM(3M)互助合約系統開發原始碼搭建原始碼
- DAPP互助公排智慧合約矩陣模式系統開發詳情分析APP矩陣模式
- Polygon馬蹄鏈智慧合約公排互助系統開發技術詳情Go
- DAPP互助公排矩陣模式系統開發丨智慧合約技術介紹APP矩陣模式
- DAPP智慧合約互助遊戲開發詳情丨DAPP智慧合約互助遊戲系統開發技術分析及規則APP遊戲開發
- 互助公排滑落機制dapp系統開發|智慧合約編寫流程APP
- DAPP公排矩陣互助合約系統開發分析方案APP矩陣
- BSC鏈公排矩陣互助合約系統開發詳情原理矩陣
- FDF/DAPP互助公排系統開發技術詳解丨FDF/DAPP互助公排開發原始碼模式APP原始碼模式
- DAPP公排互助智慧合約模式軟體開發案例APP模式
- DAPP公排互助矩陣合約系統開發模式設計APP矩陣模式