Ethereum: desarrollo de MyContract
Nombraremos nuestro contrato MyContract como en la siguiente declaración -
contract MyContract {
Declararemos dos variables de la siguiente manera:
uint amount;
uint value;
La variable amountretendrá el dinero acumulado enviado por los ejecutores del contrato al creador del contrato. losvalueEl campo contendrá el valor del contrato. A medida que los albaceas ejecutan el contrato, elvalue El campo se modificará para reflejar el valor del contrato equilibrado.
En el constructor del contrato, establecemos los valores de estas dos variables.
constructor (uint initialAmount, uint initialValue) public {
amount = 0;
value = 1000;
}
Como inicialmente, el monto cobrado en el contrato es cero, establecemos el amount campo a 0. Establecemos el contrato value a algún número arbitrario, en este caso es 1000. El creador del contrato decide este valor.
Para examinar la cantidad recaudada en un momento dado, proporcionamos un método de contrato público llamado getAmount definido como sigue -
function getAmount() public view returns(uint) {
return amount;
}
Para obtener el valor del contrato equilibrado en un momento dado, definimos getBalance método de la siguiente manera -
function getBalance() public view returns(uint) {
return value;
}
Finalmente, escribimos un método de contrato (Send). Permite a los clientes enviar algo de dinero al creador del contrato:
function send(uint newDeposit) public {
value = value - newDeposit;
amount = amount + newDeposit;
}
La ejecución del send El método modificará ambos value y amount campos del contrato.
El código de contrato completo se proporciona a continuación:
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;
}
}