// Задание №1 // Написать код, который будет показывать число в блокчейне contract contract_1 { uint public value; // число в блокчейне function setValue(uint _value) public { value = _value; // публикация числа } } // Задание №2 // Написать код, который будет показывать число в блокчейне за определенные деньги contract contract_2 { uint public value; // число в блокчейне uint public minimalPrice = 1 finney; // цена публикации сообщения function setValue(uint _value) public payable { require(msg.value > minimalPrice); // проверка на то, что пользоватил перевёл достаточно средств value = _value; // публикация числа } } // Задание №3 // Написать код, который будет показывать сообщение от пользователя в блокчейне за определенные деньги и переводить их на счет владельца токена (задаётся заранее) contract contract_3 { address public owner; // адрес владельца контракта string public message; // сообщение в блокчейне uint public minimalPrice = 1 finney; // цена публикации сообщения function contract_3() public{ owner = msg.sender; } function setMessage(string _message) public payable { require(msg.value >= minimalPrice); // проверка на то, что пользоватил перевёл достаточно средств message = _message; // публикация сообщения owner.transfer(msg.value); // перевод средств владельцу контракта } } // Задание №4 // Написать код, который будет резервировать сообщение от пользователя на запись на определенное время за определенные деньги и переводить их на счет владельца токена (задаётся заранее) contract contract_4 { address public owner; // адрес владельца контракта string public message; // сообщение в блокчейне uint public minimalPrice = 1 finney; // цена публикации сообщения uint public timePublish; // время публикации очередного сообщения uint public timeOut = 50 seconds; // время, через которое возможна публикация нового сообщения function contract_4() public{ owner = msg.sender; } function setMessage(string _message) public payable { require(msg.value >= minimalPrice); // проверка на то, что пользоватил перевёл достаточно средств require(timePublish + timeOut < now); // проверка на то, что время старого сообщения закончилась и возможна публикация нового message = _message; // публикация сообщения owner.transfer(msg.value); // перевод средств владельцу контракта timePublish = now; // время публикации обновляется } }
0.4.18