以太坊 - 正在開發 MyContract



我們對合約命名為 MyContract,如下所示 −

contract MyContract {

我們宣告兩個變數,如下所示 −

uint amount;
uint value;

變數 amount 將持有合約執行人員傳送給合約建立者的累積資金。value 欄位將持有合約價值。隨著執行人員執行合約,value 欄位將被修改以反映平衡的合約價值。

在合約建構函式中,我們設定這兩個變數的值。

constructor (uint initialAmount, uint initialValue) public {
   amount = 0;
   value = 1000;
}

最初,合約中收集的金額為零,因此我們將 amount 欄位設定為 0。我們將合約 value 設定為任意數字,在此案例中為 1000。合約建立者決定此值。

為了在任意給定時間點檢查已收集的金額,我們提供了一個名為 getAmount 的公共合約方法,定義如下 −

function getAmount() public view returns(uint) {
   return amount;
}

為了在任意給定時間點獲取平衡的合約價值,我們定義了 getBalance 方法,如下所示 −

function getBalance() public view returns(uint) {
   return value;
}

最後,我們編寫了一個合約方法 (Send)。它讓客戶能夠將一些資金髮送給合約建立者 −

function send(uint newDeposit) public {
   value = value - newDeposit;
   amount = amount + newDeposit;
}

執行 send 方法將修改合約的 valueamount 欄位。

完整的合約程式碼如下所列 −

contract MyContract {
   uint amount;
   uint value;

   constructor (uint initialAmount, uint initialValue) public {
      amount = 0;
      value = 1000;
   }
   function getBalance() public view returns(uint) {
      return value;
   }
   function getAmount() public view returns(uint) {
      return amount;
   }
   function send(uint newDeposit) public {
      value = value - newDeposit;
      amount = amount + newDeposit;
   }
}
廣告
© . All rights reserved.