以太坊 - 正在开发 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.