2ой урок по солидити

Показать как работать с трюфелем

Сегодня мы продолжим изучать синтаксис solidity и попробуем пописать уже реальные контракты

Перед этим давайте разберемся ещё с некоторыми стругами данных которые присутствовуют в солидити

Mappings

На первом занятие мы с вами рассматривали структуры и array(множества), mapping другой способ хранения информации в солидити, представляющий из себя key/ value хранилище

Синтаксис маппинга следующий

mapping(address=> uint) public accoutBalance;

mapping(uint=>string) public userIdToName;

Вторая вещь, которую следует рассмотреть это Понятие адреса в солидити

Как ва помните блокчейне эфириума состоит из аккаунтов, которые условно можно сравнить с банковскими аккаунтами. У аккаунта есть баланс эфиров, вы на данный аккаунт можете посылать и принимать эфир, каждый аккаунт обладает адресом, который является уникальным индетификатором,указывающим на этот аккаунт, и выглядит

(Показать на метамаск)

Каждым адресам владеет какой-то юзер или смарт контракт, соответсвенно мы можем использовать адрес как уникальный индетификатор

Для нашего примера 1.sol давайте будем хранить mapping в котором будем учитывать к какому преподавателю принадлежит какой ученик

И второй маппинг в котором будем хранить целочисленное значение учеников у каждого учителя

Следующий концепт который мы рассмотрим это

Msg.sender

msg.sender

В солидидти, есть определенные глобальные переменные, доступные для всех функций, одна из них msg.sender, которая обозначает адресс человека или смарт контракта который вызвал данную функцию.