Главная » Архив меток: Solidity

Архив меток: Solidity

Как написать смарт-контракт для ICO за 5 минут

В этой статье я расскажу вам, как за 5 минут и несколько команд в терминале запустить смарт-контракт сбора денег для своего ICO на Ethereum. Всем привет! Вкратце, на этот смарт-контракт можно будет отправить денег и получить за это ERC20 токены. Этот очерк потенциально сэкономит вам десятки тысяч американских долларов, так как любой программист — да и не программист тоже — ...

Читать далее »

Смарт-контракт как угроза безопасности блокчейн-стартапа

Сегодня я попробую разобраться, так ли всё радужно на самом деле, рассмотрев некоторые проблемы, с которыми пользователи смарт-контрактов сталкиваются на практике. Смарт-контракты Ethereum, если верить официальному сайту, выполняются «в точности так, как запрограммированы, без какой-либо возможности простоя, цензуры, мошенничества или вмешательства третьей стороны». В конце статьи я резюмирую свои размышления краткой инструкцией по написанию безопасных смарт-контрактов. Речь в статье пойдёт ...

Читать далее »

Attention! S in Ethereum stands for Security. Part 3. Solidity in practice

Представляем третью часть цикла, посвященного типичным уязвимостям, атакам и проблемным местам, присущим смарт-контрактам на языке Solidity, и платформе Ethereum в целом. Здесь поговорим о том, какими особенностями обладает Solidity и какими уязвимостями они могут обернуться в умелых руках. В первой части мы обсудили front-running attack, различные алгоритмы генерации случайных чисел и отказоустойчивость сети с Proof-of-Authority консенсусом. Во второй говорили об ...

Читать далее »

Простые и мощные краткосрочные смарт-контракты

Такие контракты существуют столько, сколько необходимо для обслуживания проектов, при этом месяцами обеспечивают бесперебойное взаимодействие с тысячами клиентов. В последнее время смарт-контракты широко применяются в сети Ethereum в основном для проведения ICO и управления выпущенными токенами. Будем называть их долгосрочными смарт-контрактами. Причём для каждого пользователя могут понадобиться особые параметры, реализовывать их в рамках большого контракта нецелесообразно. Однако определённые задачи требуют, ...

Читать далее »

Создаем свои криптокотиков (Часть 2)

Это статья — вторая (и заключительная) часть из серии о создании своих криптокотиков. В первой части мы узнали, что из себя представляет каждый Криптокотик, кто контролирует ход игры и как сделать котика в виде токена. Но для по-настоящему прорывного приложения нам необходимо определелить для них механизм размножения, а главное — рыночной торговли, чтобы участники могли выкупать друг у друга самых ...

Читать далее »

Платёжная система в 50 строк кода, реально?

<body> <div class="main_section"> <h3 class="section_title">Info</h3> <div id="message_balance" class="message"></div> <div id="message_owner" class="message"></div> </div> <div class="main_section"> <h3 class="section_title">Output money</h3> <div class="edit"><input type="text" class="myedit" id="edit_adress" placeholder="adress"></div> <div class="edit"><input type="text" class="myedit" id="edit_value" placeholder="value (ETH)"></div> <div id="button_output" class="mybutton">output</div> <div id="message_output" class="message"></div> <script> //вывод денег //----------------------------------------------------------------- var button_output = document.querySelector('#button_output'); button_output.addEventListener('click', function() { var pay_value = web3.toWei(parseFloat(document.getElementById("edit_value").value), 'ether') var to_adress = document.getElementById("edit_adress").value; var user_adress = web3.eth.accounts[0]; ...

Читать далее »

[Перевод] Предсказание случайных чисел в умных контрактах Ethereum

Ethereum приобрёл огромную популярность как платформа для первичного размещения монет (ICO). Однако она используется не только для токенов ERC20. Рулетки, лотереи и карточные игры — всё это можно реализовать на блокчейне Ethereum. Как любая реализация, блокчейн Ethereum не поддаётся подделке, он децентрализован и прозрачен. Ethereum допускает выполнение тьюринг-полных программ, которые обычно пишут на языке программирования Solidity. По словам основателей платформы, ...

Читать далее »

[Из песочницы] Система вызова смарт-контрактов в блокчейне Ethereum

Задача Часто разработчики смарт контрактов под Ethereum сталкиваются с, казалось бы, простой проблемой — вызов кода смарт-контракта в будущем или по расписанию. Но подходящего решения нет, и приходится разрабатывать отдельный сервис для вызова контрактов. Разрабатывая контакты-шаблоны для платформы MyWish мы сразу столкнулись с этим ограничением. И мы задались целью, обойти это ограничение «красиво» — при помощи децентрализованного решения. Это система ...

Читать далее »

Solidity 0.5.0 — что нового он нам несет

5. Хочу рассказать об изменениях языка Solidity, которые ожидаются в версии 0. Сразу отмечу, что я ограничусь только языком — его грамматикой и семантикой. 0. 5. Какого-то вменяемого текста на эту тему нет даже на английском языке, но недавно в репозитории Solidity появился проект.По нему можно отслеживать прогресс подготовки версии 0. 0. Точную информацию можно получить из официального changelog'a. Disclaimer: ...

Читать далее »

[Из песочницы] Экономия газа в смарт-контрактах Ethereum

В Ethereum для выполнения каждой транзакции требуется определённое количество газа — специальной сущности. Существуют разные пути для снижения затрат. Часть из них уже реализована. Хочу начать с обсуждения вопроса оптимизации стоимости создания смарт-контракта. Как видите, можно заметно снизить расход газа, сокращая издержки. Прежде чем займёмся деталями давайте обсудим вопрос оптимизации программ. Как работают оптимизаторы? Давайте рассмотрим следующую простую C-программу. Программе ...

Читать далее »