Dapp鏈上代幣合約質押模式系統開發功能分析丨框架

Lyr96246466發表於2023-04-06

  “Web3.0”是對“Web2.0”的改進,開發+18I鏈上合約-259l開發系統3365-/在此環境下,使用者不必在不同中心化的平臺創

建多種身份,而是能打造一個去中心化的通用數字身份體系,通行各個平臺。“Web3”指的是“基於區塊鏈的去中心化線上

生態系統”


  Web3.0被用來描述網際網路潛在的下一階段,一個執行在“區塊鏈”技術之上的“去中心化”的網際網路。


  Web3.0是網站內的資訊可以直接和其他網站相關資訊進行互動,能透過第三方資訊平臺同時對多家網站的資訊進行整合使

用;使用者在網際網路上擁有自己的資料,並能在不同網站上使用;完全基於web,用瀏覽器即可實現複雜系統程式才能實現的系

統功能;使用者資料審計後,同步於網路資料。

pragma solidity ^0.8.4;

 

//安全的遠端購買,Remix編寫

contract Purchase{

    uint public value;//商品價值

    address payable public seller;//賣家地址

    address payable public buyer;//買家地址

 

    //列舉型別,不用加分號,用於標記交易狀態

    enum State{Created,Locked,Release,Inactive}

 

    State public state;//定義列舉型別變數

 

    //modifier類似於一個可以通用的函式供其他function重複呼叫,減少程式碼量

    //_;可以放在modifier結構體{}內的任何位置來執行呼叫modifier的function程式碼

    modifier condition(bool condition_){

        require(condition_);

        _;

    }

 

    //error用於解釋操作失敗的原因,可以繼承,引數列表可以只定義資料型別或為空

    //不能過載,不能作為控制流的一種手段,合約內部和外部均可定義。

    //呼叫時必須用revert修飾,revert用於回退error中資料給呼叫者並回退當前呼叫中所有更改。

    error OnlyBuyer();//僅有買家可以呼叫

    error OnlySeller();//僅有賣家可以呼叫

    error InvalidState();//當前交易狀態為Invalid,不能呼叫

    error ValueNotEven();//商品價格為不為偶數,需中止交易

 

    modifier onlyBuyer(){

        if(msg.sender != buyer)

            revert OnlyBuyer();

        _;

    }

 

    modifier onlySeller(){

        if(msg.sender != seller)

            revert OnlySeller();

        _;

    }

 

    modifier inState(State state_){

        if(state != state_)

            revert InvalidState();

        _;

    }


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70012429/viewspace-2944116/,如需轉載,請註明出處,否則將追究法律責任。

相關文章