В вашем первом фрагменте кода вы передаете val
в качестве аргумента функции.
Во втором фрагменте кода вы не передаете никаких аргументов, но отправляете val
Вэй в сделке.Да, по контракту можно посмотреть, сколько было отправлено вей, посмотрев на msg.value
, но, что немаловажно, была и передача эфира.(10 ** 18 wei == 1 эфир.)
Итак, ключевые различия между ними следующие:
- Один передает значение в качестве аргумента, а другой - нет.
- Один отправляет эфир с транзакцией, а другой нет.