blockchain
Пример смарт-контракта на языке Solidity
Оглавление
Задание
Описание работы и объяснение архитектурных решений при создании контракта Faucet.
Написать контракт Faucet, который будет раздавать эфир. Обязательный функционал:
- Любой желающий может перевести эфиры на адрес контракта с помощью fallback функции;
- Любой желающий может посмотреть баланс контракта;
- Любой желающий может запросить перевод денег с баланса контракта на свой (количество денег принимается в качестве аргумента). При этом должны выполняться следующие условия:
- Функция должна выполняться только если запрошено не более 0.1 эфира;
- Пользователь может воспользоваться этой функцией только один раз;
- Создатель контракта может выводить любую сумму любое количество раз.
Как использовать
- Для пополнения баланса контракта просто перевидите деньги на адрес смарт-контракта.
- Для просмотра баланса контракта воспользуйтесь функцией getBalance().
- Для запроса денег с баланса контракта воспользуйтесь функцией giveMe():
- Запрашивать разрешено не более 0.1 эфира;
- После запроса денег адрес пользователя добавляется в мэппинг. Дальнейшие запросы запрещены.
- Создатель контракта может выводить любую сумму любое количество раз.