NFT元宇宙農(nóng)場(chǎng)鏈游游戲系統(tǒng)開(kāi)發(fā)(開(kāi)發(fā)方案)丨NFT元宇宙農(nóng)場(chǎng)鏈游游戲源碼模式
區(qū)塊鏈?zhǔn)荳eb3.0和元宇宙實(shí)現(xiàn)的技術(shù)基礎(chǔ)之一,當(dāng)前的互聯(lián)網(wǎng)只能實(shí)現(xiàn)信息的傳遞,尚不能實(shí)現(xiàn)價(jià)值的流轉(zhuǎn),而Web3.0能真正實(shí)現(xiàn)“價(jià)值的連接”。這種價(jià)值的流轉(zhuǎn)也成為元宇宙實(shí)現(xiàn)的基礎(chǔ)。
代碼分析
import
import"./RoleController.sol";
功能概述
創(chuàng)建或者修改DID的相關(guān)屬性并用Event進(jìn)行記錄,可大體分為兩類(lèi):創(chuàng)建或修改自身的屬性以及有權(quán)限的機(jī)構(gòu)創(chuàng)造或修改ID屬性
整體結(jié)構(gòu)
參數(shù)設(shè)置:開(kāi)發(fā)功能I35需求7O98詳細(xì)O7I8
//使用import中的RoleController類(lèi)
RoleController private roleController;
//changed[identity]:存儲(chǔ)該id最近一次發(fā)生改變的區(qū)塊
mapping(address=>uint)changed;
//記錄合約建立時(shí)的區(qū)塊
uint firstBlockNum;
//最新交易的區(qū)塊
uint lastBlockNum;
//計(jì)數(shù)器:記錄DID的總數(shù)
uint weIdCount=0;開(kāi)發(fā)流程:MrsFu123
//blockAfterLink[BlockNum]:與該區(qū)塊相關(guān)聯(lián)的下一個(gè)區(qū)塊數(shù)
mapping(uint=>uint)blockAfterLink;
bytes32 constant private WEID_KEY_CREATED="created";
bytes32 constant private WEID_KEY_AUTHENTICATION="/weId/auth";
modifier onlyOwner(address identity,address actor){
require(actor==identity);
_;
}
//需要roleControllerAddress的合約地址
function WeIdContract(
address roleControllerAddress
)
public
{
//將RoleController按照指定地址構(gòu)造,這樣方便后續(xù)RoleController合約更新升級(jí)
roleController=RoleController(roleControllerAddress);
//初始化firstBlockNum與lastBlockNum
firstBlockNum=block.number;
lastBlockNum=firstBlockNum;
}
event WeIdAttributeChanged(
address indexed identity,
bytes32 key,
bytes value,
uint previousBlock,
int updated
);
event WeIdHistoryEvent(
address indexed identity,
uint previousBlock,
int created
);