關於DAPP馬蹄鏈智慧合約質押模式系統開發詳情技術介紹

Lyr96246466發表於2023-03-08

Solidity是一種圖靈完備的程式語言,18I合約系統- 259l-開發軟體3365所以程式設計的方式與Java、C++類似。不過Solidity語言

中並沒有類的概念,但有一個合約的概念,用關鍵字contract表示。任何一個Solidity程式,都必須至少有一個

合約(contract)。在合約中可以編寫Solidity函式,類似於類中的方法。Solidity原始碼檔案的副檔名是sol,下面的例子給

出了一個簡單的使用Solidity語言編寫的智慧合約的例子,以便讀者對Solidity語言和智慧合約有一個感性的認識。


下面的例子給出了一個名為Calc的智慧合約程式,在該智慧合約中有一個add函式,用於將兩個無符號整數相加,並返回相加

的結果。


pragma solidity ^0.4.0;

contract Calc{

    function add(uint a,uint b) returns (uint){

        return a + b;

    }

}



Solidity中智慧合約18I合約馬259l開發3365系統+的含義就是一組程式碼(它的功能)和資料(它的狀態)的集合,並且它們是位於以太坊區塊鏈的一個特定地址上的。uintstoredData;這一行程式碼宣告瞭一個名為``storedData``的狀態變數,其型別為uint(256位無符號整數)。你也可以認為它是資料庫裡的一個插槽,並且可以透過呼叫管理資料庫程式碼的函式進行查詢和更改。在這個例子中,上述的合約定義了``set``和``get``函式,可以用來修改或檢索變數的值。


  要訪問當前合約的成員(如:狀態變數),通常不需要像新增this.這樣的字首,你只需要透過名字就可以直接訪問它。

與其他一些語言不同的是,省略它不僅僅是一個風格問題,因為它是一種完全不同的訪問成員的方式,這一塊後面會詳細介紹。


  solidity語言是一種可以編寫智慧合約的語言,當然編寫智慧合約不止這一種,但是學習以太坊最好還是學會這

一種語言就差不多了。在以太坊平臺上,solidiy編寫的智慧合約會執行在以太坊虛擬機器EVM之上,變成位元組碼執行。


  新手入門建議使用官方IDE開發工具Remix。


  結構


  solidity語言中的合約結構和麵向物件程式設計的類相似。一個合約就幾乎是一個類,結構基本一致。包括宣告變數

(如狀態變數,函式,函式修改器,事件),合約繼承等。


  unit SomeData;//狀態變數


  function(){


  //函式


  }


  address public creater;//建立者地址


  function SimpleContract(){


  creater=msg.sender;//在建構函式中記錄合約建立者


  }


  modifier onlyCreater(){


  //函式修改器


  require(msg.sender==creater);


  _;


  }


  function abort()onlyCreater(){


  //使用函式修改器


  }


  event Deposit(address _from,uint _amount);//事件


  function Donate()payable(){


  Deposit(msg.sender,msg.value);//觸發事件


  }


  }


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

相關文章