Из обсуждеия понятно, что мапинги устроены так, что там всегда есть все возможные значения. То есть при создании mapping (address => uint256) сразу будут все возможные аккаунты в ключах (начиная 0x0000000000000000000000000000000000000000 и заканчивая 0xffffffffffffffffffffffffffffffffffffffff)
То есть газ берется за операции, а не за кол-во адресов.
Поэтому вопрос: как управлять счетами всех пользователей, которых может быть сотни тысяч - остается открытым.
Скажите, вообще на практике разработчики ка крешают этот вопрос?
Не заморачиваются и хранят все в маппинге?
Маппинг по сути является словарём. Если в словаре отсутствует какой-то ключ - нам просто возвращается дефолтное значение, на самом деле ничего не хранится. Поэтому никто не заморачивается, маппинг - это просто и дёшево. Недостаток такого подхода в том, что мы не можем достать массив ключей, по которым мы записывали значения => по маппингам нельзя итерироваться.