Pull to refresh

Comments 12

Кому задачку?
В некоторых смарт-контрактах ставят запрет на вызов функции другим смарт-контрактом. Делают это двумя способами. Один из этих способов не работает.
Какие это способы?
Какой из них не работает?
Почему?
UFO just landed and posted this here
Да, это один из способов и он как раз не работает. Есть второй.
msg.sender == tx.origin

а почему не работает extcodesize?
Создайте контракт с 10 эфира с генератором случайных чисел на основе BLOCKHASH или TIMESTAMP. Защитите платящую функцию с помощью extcodesize, и тогда я покажу. Можете даже исходный код не публиковать. Только адрес
Слипнется

ответ: extcodesize возвращает ноль для контракта, который создаётся прямо сейчас
send давно пофиксили и рекомендуют использовать transfer.
Тем не менее, думаю, что статья актуальна, как пример подхода к разработке — с учетом возможных уязвимостей.
UFO just landed and posted this here
Это небезопасный код из-за reentrancy
Sign up to leave a comment.

Articles