Интеллект Искусственный - Смарт-контракты. Что такое смарт-контракт и как его создать в Solidity. С подробным разбором кода стр 5.

Шрифт
Фон

message = "Hello, world!"; // Присвоение строки переменной

Массивы (array)

Массивы в Solidity позволяют объединять несколько значений одного типа в одной переменной. Они могут быть фиксированной длины (размер задается заранее) или динамической длины (размер определяется в процессе выполнения).

Примеры использования массивов:

uint256[5] public numbers;.... // Массив фиксированной длины

string[] public names;........ // Динамический массив строк

numbers = [10, 20, 30, 40, 50]; // Присвоение значений фиксированному массиву

names.push("Alice");............ // Добавление значения в динамический массив

Структуры (struct)

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

Пример использования структуры:

struct Person {

....string name;

....uint256 age;

}


Person public alice;

alice = Person("Alice", 30); // Инициализация структуры

Основные типы данных Solidity позволяют эффективно хранить и обрабатывать информацию в смарт-контрактах. При создании смарт-контрактов важно правильно выбирать тип данных в зависимости от характера данных и требований к работе контракта.

3.4.2 Хранилище данных

В смарт-контрактах управление данными является фундаментальной задачей. Данные могут быть различных типов от чисел и строк до более сложных структур. Понимание того, как работает хранилище данных, поможет вам создавать эффективные и безопасные смарт-контракты.

Переменные состояния и локальные переменные

Один из ключевых аспектов управления данными это различие между переменными состояния (state variables) и локальными переменными (local variables).

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

Локальные переменные, с другой стороны, существуют только внутри функции и исчезают после её выполнения. Они используются для временных вычислений и обработки данных внутри функций. Локальные переменные полезны, когда вам нужно временно хранить промежуточные результаты вычислений или выполнять действия внутри функции, не оставляя следов в состоянии контракта.

Пример использования переменных состояния и локальных переменных

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

contract SimpleToken {

....uint256 public totalSupply;

....mapping(address => uint256) public balances;


....constructor(uint256 initialSupply) {

........totalSupply = initialSupply;

........balances[msg.sender] = initialSupply;

....}


....function transfer(address to, uint256 amount) public {

........require(balances[msg.sender] >= amount, "Not enough balance");

........balances[msg.sender] -= amount;

........balances[to] += amount;

Смарт-контракты. Что такое смарт-контракт и как его создать в Solidity. С подробным разбором кода

читать Смарт-контракты. Что такое смарт-контракт и как его создать в Solidity. С подробным разбором кода
Интеллект Искусственный
Исчерпывающее руководство для тех, кто стремится овладеть искусством создания и использования смартконтрактов. С этой книгой вы погрузитесь в захватывающий мир блокчейна и Ethereum, начнете с основных концепций и постепенно продвинетесь к сложным темам и применениям.Преодолевая языковой барьер и тех
Можно купить 199Р
Купить полную версию

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке

Скачать книгу

Если нет возможности читать онлайн, скачайте книгу файлом для электронной книжки и читайте офлайн.

fb2.zip txt txt.zip rtf.zip a4.pdf a6.pdf mobi.prc epub ios.epub fb3