Есть ли причина использовать общие черты над определенными типами в субстрате? - PullRequest
1 голос
/ 11 июля 2019

Есть ли причина для меня использовать Hash абстракцию sr-primitives вместо использования модулей substrate_primitives::hash и substrate_primitives::hashing?

Просто гораздо проще включить H256 в мой код (и использовать соответствующие функции хеширования), чем использовать черту Hash.

1 Ответ

1 голос
/ 11 июля 2019

Субстрат строится так, чтобы быть универсальным и настраиваемым. Когда вы пишете свои модули и логику времени выполнения для черты Hash, вы получаете преимущества от того, что ваш модуль является универсальным по сравнению с конкретным типом Hash, используемым во время выполнения.

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

Кроме того, если вы планируете поделиться модулями, которые вы разрабатываете, с другими, вы захотите сохранить свой модуль как можно более универсальным, чтобы не заставлять конечного разработчика блокчейна соответствовать вашим стандартам.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...