Solidity. Основы. Блокчейн
592 subscribers
15 photos
8 videos
28 links
Solidity.
Основы.
Блокчейн
Download Telegram
Вопрос для ETH разработчика.

What are the challenges of creating a random number on the blockchain?

Answer: Random number generation on the blockchain is difficult because of its deterministic and public nature. The Ethereum Virtual Machine (EVM) must produce the same output given the same input, and all data on the blockchain is public.

Как сгенерировать настоящие случайные числа в Solidity с блокчейном

#вопрос #eth #собеседование
👍2
Which is better to use for an address allowlist: a mapping or an array? Why?

Answer: A mapping is better for an address allowlist because it is more gas efficient. With a mapping, it is possible to check if an address is on the allowlist by directly accessing its value. Using an array, verifying an address could be costly because it would require looping through each element.

Mapping в Solidity

Расчет количества газа необходимого для выполнения транзакции в Ethereum

#вопрос #eth #собеседование
👍2
What is the difference between assert and require?

assert and require serve different purposes. The require function is commonly used for input validation or to validate the state before executing certain logic. The assert function is used to check for invariants, to ensure that there’s no error in the contract’s logic and to prevent conditions that should never be possible.

#вопрос #eth #собеседование
👍1
18 нетрадиционных инструментов для Solidity разработчиков. Часть 1

▫️ChainIDE: Как и RemixIDE, оба инструмента предлагают функции подсветки синтаксиса и автозаполнения, но ChainIDE предоставляет дополнительную поддержку в отладке.
▫️ChainList: Это ресурс, который обеспечивает удобное средство для взаимодействия с сетями блокчейна в Ethereum.
▫️Tenderly: Это мощная платформа для мониторинга и отладки смарт-контрактов на Ethereum и не только.
▫️Ethereum Security Toolbox: Это специализированный контейнер Docker, обеспечивающий среду для проведения аудита безопасности и отладки смарт-контрактов Ethereum.
▫️MythX: Это сервис для проверки безопасности смарт-контрактов Ethereum, который выполняет комплексный анализ безопасности, обнаруживая уязвимости на ранних этапах разработки.
▫️Foundry: Это инструмент для разработки блокчейн-проектов, созданный на Rust. Он предлагает модульную структуру, которая позволяет разработчикам легко настраивать и расширять свои блокчейн-приложения.
▫️Evm.codes: Это удобный ресурс, представляющий собой полный список операций (opcodes) Ethereum Virtual Machine (EVM) с подробными описаниями их функциональности.
▫️Openchain: Это библиотека предоставляющая полезные инструменты: инструмент работы с ABI, трассировщик транзакций и библиотека неизвестных селекторов.
▫️OpenZeppelin Defender: Это платформа для автоматизации операций с смарт-контрактами в блокчейне Ethereum.
3
18 нетрадиционных инструментов для Solidity разработчиков. Часть 2

▫️Ethereum Tipper: Это простой виджет для разработчиков, позволяющий получать чаевые. Чтобы начать пользоваться этим инструментом, перейдите на страницу проекта, введите свой адрес кошелька, скопируйте код виджета и разместите его на своем сайте или блоге.
▫️Gelato Network: Это автоматизированная система, которая позволяет пользователям и разработчикам настроить условия для автовыполнения транзакций в блокчейне Ethereum.
▫️Cookbook Dev: Это полностью бесплатный реестр разных смарт-контрактов с открытым исходным кодом.
▫️OSWAR: Это энциклопедия всех видов атак и взломов блокчейн-проектов, смарт-контрактов и инфраструктур.
▫️Builder0x69 JSON-RPC API: Это бесплатный MEV Blocker RPC endpoint, который поможет вам скрыть ваши транзакции от MEV ботов.
▫️EtherMail: Это сервис, который позволяет отправлять сообщения адресатам на Ethereum, используя их Ethereum-адреса вместо традиционных email-адресов.
▫️BUIDLer by Etherspot: Это инструмент, предоставляющий функциональность абстракции аккаунтов (EIP-4337) в сети Ethereum.
▫️Blocktorch: Это многоцепочечная платформа для анализа ваших контрактов в реальном времени.
▫️Moralis: Это платформа для разработки децентрализованных приложений (dApps), предоставляющая широкий набор функций.

Если у вас есть дополнения к этому списку, пожалуйста, напишите в комментариях.
👍1🔥1
What is the minimum amount of Ether required to run a solo staking node?
Каково минимальное количество эфира, необходимое для запуска соло-стейкинга?

32 ETH
Solo staking: The most secure option, you'll need to 32 ETH to stake and have a dedicated computer with a reliable and constant connection.

Staking pools: You join a pool using any amount of ETH, which is used to create a node of 32 ETH.


Статья на русском

#вопрос #eth #собеседование
2👍1🤝1
Blockchain Basics

Автор:
Daniel Drescher
Год издания:
2017

#bc #en

Скачать книгу
2🔥2👍1
Solidity поддерживает все основные концепции объектно-ориентированного программирования (ООП), такие как наследование, абстракция, инкапсуляция и полиморфизм. Он также обладает функциональностью, необходимой для разработки смарт-контрактов, включая возможность работы с переменными, условными операторами, циклами и обработкой исключений.

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

// Простой смарт-контракт на Solidity
pragma solidity ^0.8.0;

contract HelloWorld {
// Объявление переменной
string private message;

// Конструктор контракта
constructor() {
// Инициализация переменной
message = "Hello, World!";
}

// Функция для получения сообщения
function getMessage() public view returns (string memory) {
return message;
}

// Функция для установки нового сообщения
function setMessage(string memory newMessage) public {
message = newMessage;
}
}

👉 Solidity.Основы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2
Mastering Ethereum

Автор:
Andreas M.
Год издания:
2019

#eth #en

Скачать книгу
2
Struct используется довольно часто в сложных контрактах, поэтому знать этот тип данных не только нужно, но и важно!

В struct мы можем объявлять специальные поля, как в примере на скрине. При этом struct может хранить другие сложные типы данных, типа массивов и mapping.

👉 Solidity.Основы | #struct #типыданных
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Введение в смарт-контракты и пример создания своего токена
Бесплатный вебинар для погружения в смарт-контракты и написание на языке Solidity

Время и дата проведения: 31.10.2024 в 20:00

Особенности вебинара:
- Общая информация про блокчейн, смарт-контракты
- Введение в смарт-контракты
- Практическая часть - написание своего токена

Спикер:
Александр Куперман, Senior Solidity Engineer (Швейцария). Программирует более 20 лет, специалист по Solidity, блокчейн стеку. Работал в Blue Brain Project, Cleverdist, Huawei, Valory. Образование: НГТУ (Россия), UOU (Корея), RPI (США).

Этот вебинар — часть курса Solidity Developer. В рамках курса вы получите знания и сможете применять их на практике под руководством опытных преподавателей.

👉 Для участия в вебинаре зарегистрируйтесь на сайте

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
1
Написание кода на Solidity
Создайте файл с расширением ".sol" и начните писать код на Solidity. Используйте синтаксис языка для определения переменных, функций, модификаторов и событий. Обратите внимание на встроенные библиотеки и стандартные шаблоны контрактов, которые могут упростить вашу работу.


Вот пример простого смарт-контракта на Solidity, который можно использовать для хранения и передачи эфира (Ether) между адресами:

// Простой смарт-контракт для передачи эфира
pragma solidity ^0.8.0;

contract SimpleWallet {
address payable public owner;

// Конструктор контракта
constructor() {
owner = payable(msg.sender);
}

// Функция для отправки эфира из контракта на указанный адрес
function sendEther(address payable _receiver, uint _amount) public {
require(msg.sender == owner, "Only owner can send Ether");
require(address(this).balance >= _amount, "Insufficient balance in contract");

_receiver.transfer(_amount);
}

// Функция для получения баланса контракта
function getBalance() public view returns (uint) {
return address(this).balance;
}

// Функция для получения баланса указанного адреса
function getBalanceOf(address _address) public view returns (uint) {
return _address.balance;
}

// Функция для прямой отправки эфира контракту
receive() external payable {}
}

👉 Solidity.Основы
Please open Telegram to view this post
VIEW IN TELEGRAM
5
🚀 Вебинар: Погружение в децентрализованные технологии🚀

Узнайте, как использовать Solidity для создания продвинутых dApp. Этот вебинар важен для понимания текущего состояния и потенциала Web3, что критично для разработчиков в освоении Solidity и создании продвинутых dApp.

Дата и время: 11.11.2024 в 20:00 (мск)

На уроке будет:
- Обсуждение базовых технологий, включая блокчейн и смарт-контракты
- Представление и анализ нескольких децентрализованных приложений
- Рассмотрение успешных кейсов использования Solidity
- Обсуждение безопасности
- Прогнозы и перспективы развития децентрализованных технологий

В результате участники получат актуальные знания о применении Solidity в разработке современных dApp.

Не упустите возможность узнать больше о dApp и их потенциале!

👉 Зарегистрируйтесь для участия

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Blockchain in Action

Автор:
Bina Ramamurthy
Год издания:
2020

#bc #en

Скачать книгу
👍2
Ethereum Smart Contract Development

Автор:
Mayukh Mukhopadhyay
Год издания:
2018

#eth #en

Скачать книгу
👍21
Blockchains A Handbook
on Fundamentals, Platforms
and Applications

Автор:
Sushmita Ruj
Год издания:
2024

#bc #en

Скачать книгу
1
Solidity Programming Essentials

Автор:
Ritesh Modi
Год издания:
2018

#solidity #en

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