Разработка смарт-контрактов и Dapp на Solidity #8 — Наследование, public, internal, private

Автор Ivan Samoilov
Разработка смарт-контрактов и Dapp на Solidity #8 — Наследование, public, internal, private

Всем привет.

Друзья вы на канале Studio Code закон. Прежде чем начать тема урока мы воспользуемся своими знаниями которые уже у нас есть и создадим простое. Смарт контракт в котором будет владелец какая-нибудь переменная функция которая будет изменять значение нашей переменной и модификатор который будет проверять чтобы значение нашей функции мог изменять только владелец как.

Мы помним при помощи модификаторов мы.

Решаем проблему дублирования кода аналогичных проверка — это всё. Конечно здорово, но только до тех пор пока мы работаем только с одним. Смарт контрактам в реальности все же смарт-контрактов будет множество и у многих из них будут аналогичные проверки на владельца получается, что в каждом контракте придётся писать код модификатором хотелось бы опять же вынести весь дублирующий код одно место тут нам на помощь приходит наследование контракты в. Солярисе могут наследоваться друг на друга. Это значит, что функции переменные контракта от которого мы нас будут доступная в контракте который наследуется здесь контракт, а наследуется от контактов B C и D при помощи ключевого слова из рассмотрим на примере нашего простого смарт-контракта вынесем кот который отвечает за проверку владельца в. Контракт по футболу также мы осознаем функцию которая позволит нам меня есть владельцы контракта и вызывать её иметь право будет только владелец. Теперь знаешь его простого смарт-контракта мы можем удалить всё, что связано с озером в том числе конструктор так как кот который он содержал мы контракт, а он был в будущем важно запомнить, что если в контракте. Наследники ВКонтакте предки есть конструктор то сначала будет исполнен конструктора. Тристан, а потом наследником то есть в нашем случае. Сначала он был, а потом Simple contrast. Теперь если у нас появятся другие контракты которые требуют проверки доступа к нам достаточно наследоваться от полного который мы уже написали всё необходимое шаблон наследование оторванный был очень распространенная практика в написание. Смарт контрактов. О'кей теперь когда мы понимаем, что будет существовать системой смарт-контрактов возникает в том чтобы некоторые данные были доступны только в пределах одного смарт-контракта или даже были не видны если мы того захотим. И для этого существуют такие ключевые слова как Public Internal IP Private Public мы уже знакомы. Он позволяет быть доступны любой нашей переменной везде где только можно с ним можно обратиться как из другого смарт-контракта так и вне блокчейна, но если мы хотим чтобы наши переменная была скрыта от всех подряд мы будем с ключевым словом Internal после того как мы объявляем переменную таким образом её значение будет недоступна напрямую для того чтобы его получить нам придется создавать специальную функцию которая будет возвращать её значением и данный код будет иметь смысл только в том случае если эту функцию смогут вызывает не все подряд, а например только owner данная переменная также как и публичная переменная будет наследоваться на другие контракты и если у нас есть потребность сделать переменную либо функцию которая будет находиться только в пределах какого-то одного смарт-контракта, тогда мы должны объявить её с ключевым словом provide таким образом при наследовании от контракта переменное наследоваться будет хате попеременная J вовсе не будет наследоваться. На этом всё спасибо за внимание.

0 комментариев
0

Читайте также