Разработка смарт-контрактов и Dapp на Solidity #4 — Типы данных №2

Автор Elena Batratskaya
Разработка смарт-контрактов и Dapp на Solidity #4 — Типы данных №2

следующий тип этот тип адрес — это уже довольно уникальный тип потому как воспринимается он уже никак ячейка в памяти как в традиционном программирование.

А как адрес кошелька и смарт-контракта в сети блокчейн эфириум его данного типа есть несколько методов которые мы часто будем использовать. Первое — это метод баланс он как следует из названия возвращает Balance адреса всё так как технически в общении нету такого понятия как баланс потому как всё рассчитывается исходя из входящих и исходящих транс все они складываются и выводятся итоговый результат баланса и разработчики solidity предоставили нам готовую функцию которая позволяет получить баланс и подсчета всех транзакций с данным адресом далее эта функция трансфер десант. Дело в том, что на нашем.

Смарт контракте могут также хранится эфиры если мы их на него отправил в случае если они есть то функция transversant отправляют на указанный адрес указанное количество эфиров отличия.

Санта трансфер в том, что если вы например отправили деньги через трансфер и транзакция не прошла то всё, что произойдет — это функция вернет. Фолз и отказе своё состояние назад то есть деньги вашего вернуться в случае если вы отправляете деньги через. Вы ещё можете как-то обработать отказ транзакции. Например если у вас не хватило денег на то чтобы заплатить комиссию. Вы можете прописать логику отправить чуть-чуть меньше денег чтобы их хватило на комиссию более подробно о контрактах и о том как отправлять деньги между ними мы будем говорить соответствует уроков в более новых версиях языка, а именно 0.5.3 тип адрес делится на два подтипа — это просто адрес и адрес с ключевым словом мэйбл иди этого различие заключается в том, что адрес PayPal. Это адрес на который вы можете отправлять эфир. В то время как на простой. А вы этого делать не можете. Воля старых версиях этого различия нету, но когда мы перейдём на новую версию мы будем придерживаться уже новых правил следующий тип данных — это string string может хранить символы utf-8 то есть обычные строку по сути этот тип является динамическим массивом. А значит и выделяется пот него очень много памяти поэтому использовать его нужно только по необходимости пример использования — это если вы получается курс биржи который имеет дробные числа и вы их можете принять только в string потому как им и не может его принять и обрезать всю дробную часть сейчас мы сделали обычную строку и добавить функцию которая изменит её в качестве параметра. Мы также. Передаем строку и прописываем изменений. Я уже за дипломы. В данный контракт поэтому. Давайте посмотрим как — это будет работать у меня уже открыт и за deploy Contract здесь у нас также будут другие методы которые писать чуть позже. Сейчас давайте посмотрим на строку STR для того чтобы изменить нам нужно выбрать функцию change STR именно писать какую-то другую строку как мы видим всё прошло успешно следующий тип этот тип байт он принимает в себя более низкоуровневое обозначение символов в том числе utf-8 байт могут обозначаться от байт 1 до 32 как мы знаем 1 байт равняется 8 битам. Это значит, что один байт может принимать в себя 256 значений двойка восьмой степени причём боится один. Можно также писать как, что более логично его будете использовать позже практически хранить в нём имеет смысл байт-код контрактов кэш обозначение и так далее. Но в самом начале изучения языка данных мы использовать не будем следующий тип — это Rain то есть массив каких-то отличие массива в языке solidity нет он для создания массива нужно сначала указать его тип потом указать скобки и собственное название данного массива для того чтобы добавить новый элемент в массив существует метод Push для определения длины его существует метод сленг для создания нового массива существует метод New он предназначен чтобы создавать массив структура локального только внутри определенной функции сейчас я создам три функции которые будут взаимодействовать с данными методами. И после этого мы посмотрим работается в смарт контракте так я создал три функции 1 функция называется эта там с она добавляет указанный элемент при помощи метода Push массив array to int 2 функция она выводит длину массива и 3 функция сложная она создает и выводит массив создает она его следующим образом для того чтобы создать массив локально нужно использовать. Ключевое мемори об этом мы также будем говорить следующих уроках. Что такое мемори. Что такое сторож как записывать и хранить данные и указали ключевое слово New. Мы также указали тип создаваемого массива и здесь мы указали стати статистические размер данного массива то есть мы указали, что будет только 3 элемента и превышать — это уже нельзя. Ну и сдали мы просто заполнили данный массив элементами и в конце вернули. Давайте посмотрим как — это будет работать так вот наш массив в данный момент у нас пустой. Давайте попробуем добавить туда при помощи метода с. Томас какое-то значение например 15 как мы видим значение добавилась чуть выше у нас функция креатин гетман которая создаёт и возвращает нам массив здесь она статическая нужно монет чтобы получать какие-либо значения поэтому можем посмотреть результат сразу же как только возим какой-либо элемент и последняя статическая. Функция которую мы только, что создавали — это getlength которая возвращает количество элементов на север предпоследняя тип данных который мы будем рассматривать — это типа митинг митинг — это ассоциативный массив языке solidity ассоциативный массив часто в языках программирования. Если вкратце то — это такой массив ключом которого может выступать не только число, но и любой другой статический тип данных пример если в обычном массиве мы. Обращаемся к.

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

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