Субстрат строится так, чтобы быть универсальным и настраиваемым. Когда вы пишете свои модули и логику времени выполнения для черты Hash
, вы получаете преимущества от того, что ваш модуль является универсальным по сравнению с конкретным типом Hash
, используемым во время выполнения.
В этом случае вам не нужно зависеть от определенного типа во время выполнения, например H256
. Вместо этого у вас есть возможность писать логику времени выполнения, которая зависит только от свойств Черты. Это означает, что если в какой-то более поздний момент вы захотите реализовать другую хеш-функцию, которая приведет к другому типу Hash
, вам не придется переписывать какой-либо код.
Кроме того, если вы планируете поделиться модулями, которые вы разрабатываете, с другими, вы захотите сохранить свой модуль как можно более универсальным, чтобы не заставлять конечного разработчика блокчейна соответствовать вашим стандартам.
Эти абстракции добавляют некоторую сложность и не являются строго необходимыми, чтобы заставить вещи работать. Тем не менее, это лучшая практика, и что-то, что вы можете найти, приносит долгосрочную выгоду.