Два делают разные вещи. Вы всегда можете проверить остаток контракта через <address>.balance
из контракта или eth_getBalance
через JSON-RPC.
Но переменная состояния balance
в контракте, которым вы поделились, может отличаться от этого числа. Например, адрес контракта может содержать эфир перед развертыванием, или другой контракт может вызвать selfdestruct(<address>)
и таким образом добавить к эфиру контракта. В обоих случаях баланс адреса будет отражать это, но переменная состояния balance
в коде не будет, потому что она увеличивается только тогда, когда вызывается резервная функция.
Так что это как бы зависит ... если вы просто хотите узнать, сколько эфира содержит контракт, вам следует использовать встроенный <address>.balance
, но если вы хотите отследить какой-то другой номер, вам нужно сделай это сам.