Ethereum-MyContract 개발

우리는 계약의 이름을 지정할 것입니다 MyContract 다음 선언에서와 같이-

contract MyContract {

다음과 같이 두 개의 변수를 선언합니다.

uint amount;
uint value;

변수 amount계약 집행자가 계약 작성자에게 보낸 누적 금액을 보유합니다. 그만큼value필드는 계약 값을 보유합니다. 집행자가 계약을 실행함에 따라value 균형 잡힌 계약 가치를 반영하도록 필드가 수정됩니다.

계약 생성자에서이 두 변수의 값을 설정합니다.

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

처음에 계약에 수금 된 금액은 0이므로 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;
   }
}