company_banner
  • Здесь не будет дворецкого, которого можно во всём обвинить. Но будет загадка, тайна, исчезновение лучшего друга в декорациях высоких технологий. Это настоящий осенне-депрессивный квест. Интересно проверить свою дедукцию?
    Добро пожаловать под кат
  • RSA-рандом на блокчейне

    Есть проблема – сложно сгенерировать случайное число в децентрализованной сети. Чуть ли не все блокчейны уже с этим столкнулись. Ведь в сетях, где нет доверия между пользователями, создание неоспоримого случайного числа решает множество задач.

    В статье рассказываем, как удалось решить проблему на примере игр. Первой из них стала Waves Xmas Tree. Для разработки нам понадобился генератор случайных чисел.


    Читать дальше →
  • Ловим кота с TLA+

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

      Вы находитесь в прямом коридоре с семью комнатами по одну сторону. В одной из них находится кот. За один шаг можно заглянуть в одну из комнат, если там есть кот, он пойман. Как только дверь закроется, кот перейдет в одну из соседних комнат к той, в которой находился. Задача — поймать кота.
      Читать дальше →
      • +20
      • 3,3k
      • 4
    • Оседлай волну Web 3.0

        Разработчик Кристоф Вердо рассказывает об онлайн-курсе ‘Mastering Web 3.0 with Waves’, который он недавно прошел.



        Расскажите немного о себе. Чем вас заинтересовал этот курс?
        Читать дальше →
        • –3
        • 2,8k
        • 3
      • Работа с Worker “как хочется“, а не “как можно”

          В этой статье будет использоваться ГРЯЗНЫЙ, небезопасный, "костыльный", страшный и т. д. метод eval. Слабонервным не читать!


          Сразу скажу, что некоторые проблемы удобства использования решить не удалось: в коде, который будет передан в worker, нельзя использовать замыкание.
          Работа с Worker "как хочется", а не "как можно"

          Читать дальше →
        • Обзор грантовых программ для блокчейн-разработчиков

            Грантовые программы для блокчейн-разработчиков — довольно распространенная практика. Суть их в общем случае сводится к одному — денежное поощрение активных членов сообщества за участие в развитии экосистемы проекта (в данном случае речь в первую очередь идет о блокчейн-платформах для создания децентрализованных онлайн-сервисов, таких как Waves или Ethereum).

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

            Принцип работы грантовых программ на разных платформах не имеет существенных отличий. Блокчейн-компания определяет наиболее приоритетные для себя направления и выделяет бюджет на выплату грантов, как правило, в собственной криптовалюте.
            Читать дальше →
          • Как строить, развертывать и тестировать Waves RIDE dApp

            • Tutorial
            Здравствуйте! В статье я покажу, как написать и запустить на ноде Waves обычный dApp. Рассмотрим необходимые инструменты, методы и пример разработки.



            Схема разработки dApps и обычных приложений почти не отличается:

            • Пишем код
            • Пишем автоматизированное тестирование
            • Запускаем приложение
            • Тестируем

            Инструменты


            1. docker для запуска ноды и Waves Explorer

            Если не хотите запускать ноду, можете пропустить этот шаг. Ведь есть тестовая и экспериментальная сеть. Но без развертывания своей ноды процесс тестирования может затянуться.

            • Вам постоянно будут нужны новые аккаунты с тестовыми токенами. Кран тестовой сети переводит по 10 WAVES каждые 10 минут.
            • Среднее время блоков в тестовой сети – 1 минута, в ноде – 15 секунд. Это особенно ощутимо, когда транзакция требует нескольких подтверждений.
            • В общедоступных тестовых нодах возможно агрессивное кэширование.
            • Еще они могут быть временно недоступны из-за технического обслуживания.

            Далее буду считать, что вы работаете со своей нодой.

            2. Инструмент командной строки Surfboard

            • Скачайте и установите Node.js с помощью ppa, homebrew или exe здесь: https://nodejs.org/en/download/.
            • Установите Surfboard – инструмент, который позволит запустить тесты на существующей ноде.

            npm install -g @waves/surfboard
            

            3. Плагин Visual Studio Code

            Шаг необязателен, если вы – не фанат IDE и предпочитаете текстовые редакторы. Все необходимые инструменты – это утилиты командной строки. Если используете vim, обратите внимание на плагин vim-ride.
            Читать дальше →
          • Протокол для общения между iframe и основным окном браузера

              Многим разработчикам периодически требуется наладить общение между несколькими вкладками браузера: возможность посылать сообщения из одной в другую и получать ответ. Такая задача встала и перед нами.


              Существуют стандартные решения вроде BroadcastChannel, однако поддержка в браузерах сейчас оставляет желать лучшего, поэтому мы решили реализовать свою библиотеку. Когда библиотека была готова, выяснилось, что такая функциональность уже не нужна, зато появилась другая задача: нужно было общаться между iframe и основным окном.


              При ближайшем рассмотрении выяснилось, что две трети библиотеки при этом можно не менять, необходимо только немного порефакторить код. Библиотека представляет из себя скорей ПРОТОКОЛ общения, который может работать с текстовыми данными. Его можно применять во всех случаях, если есть возможность передавать текст (iframe, window.open, worker, вкладки браузера, WebSocket).


              Как это работает


              На данный момент в протоколе есть две функциональности: отправка сообщения и подписка на события. Любое сообщение в протоколе — это объект с данными. Главное поле этого объекта — поле type, которое говорит нам, что это за сообщение. Поле type — это enum со значениями:

              Читать дальше →
              • +19
              • 4,7k
              • 8
            • Пишем безопасное браузерное расширение

              • Tutorial


              В отличие от распространенной "клиент-серверной" архитектуры, для децентрализованных приложений характерно:


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

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


              Учитывая все это, мы захотели сделать максимально безопасное расширение, которое упрощает разработку децентрализованных приложений, предоставляя простой API для работы с транзакциями и подписями.
              Об этом опыте мы вам и расскажем ниже.


              В статье будет пошаговая инструкция как написать браузерное расширение, с примерами кода и скриншотами. Весь код вы можете найти в репозитории. Каждый коммит логически соответствует разделу данной статьи.

              Читать дальше →
              • +10
              • 4,4k
              • 1
            • «Игры на деньги вне блокчейна должны умереть»



                Дмитрий Пичулин, известный под ником «deemru», стал победителем игры Fhloston Paradise, разработанной Tradisys на блокчейне Waves.

                Чтобы победить в игре, игрок должен был сделать самую последнюю ставку во время периода из 60 блоков — до того, как ставку сделает другой игрок, обнулив тем самым счетчик. Победителю доставались все деньги, поставленные другими игроками.

                Победу Дмитрию принес созданный им бот Patrollo. Дмитрий сделал всего восемь ставок по одному WAVES и в итоге выиграл 4700 WAVES (836300 руб.). В интервью Дмитрий рассказал о своем боте и перспективах игр на блокчейне.
                Читать дальше →
              • Смарт-ассеты Waves: «черные» и «белые» списки, интервальный трейдинг

                  image

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

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

                  Читать дальше →
                • Применение смарт-аккаунтов и смарт-ассетов Waves в финансовых инструментах

                    image

                    В предыдущей статье мы рассмотрели несколько кейсов применения смарт-аккаунтов в бизнесе – включая аукционы и программы лояльности.
                    Сегодня мы поговорим о том, как смарт-аккаунты и смарт-ассеты могут повысить прозрачность и надежность таких финансовых инструментов, как опционы, фьючерсы и векселя.
                    Читать дальше →
                  • Применение смарт-аккаунтов Waves: от аукционов до бонусных программ

                      image

                      Блокчейн часто ассоциируется лишь с криптовалютами, но области применения технологии DLT значительно шире. Одно из самых перспективных направлений для применения блокчейна – смарт-контракт, выполняющийся автоматически и не требующий доверия между сторонами, его заключившими.

                      RIDE – язык для смарт-контрактов

                      Waves разработала специальный язык для смарт-контрактов – RIDE. Его полная документация находится здесь. А вот – статья на эту тему на Хабре.

                      Контракт на RIDE является предикатом и возвращает на выходе «true» или «false». Соответственно, транзакция либо записывается в блокчейн, либо отвергается. Смарт-контракт полностью гарантирует исполнение заданных условий. Генерация транзакций из контракта в RIDE на данный момент невозможна.
                      Читать дальше →
                    • Осторожно — ГАЗ! или Как мы делали негазированные смарт-контракты


                        Блокчейн и смарт-контракты все еще остаются горячей темой среди разработчиков и технических специалистов. Существует много исследований и рассуждений об их будущем и о том, куда это все движется и куда приведет. У нас в Waves Platform свой взгляд на то, какими должны быть смарт-контракты, и в этой статье я расскажу, как мы их делали, с какими проблемами сталкивались и почему они не похожи на смарт-контракты других блокчейн-проектов (в первую очередь Ethereum).


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

                        Читать дальше →
                        • +16
                        • 3,8k
                        • 2
                      • Механизмы достижения консенсуса в блокчейне

                          Криптовалюты используют распределенные регистры или блокчейны для записи информации — в первую очередь, о балансе каждого адреса на платформах передачи ценности (например, Биткоина и большинства криптовалют), хотя такой подход может применяться к любой информации.

                          image

                          Ключевое условие — сеть должна коллективно согласовывать содержимое регистра: он распределен между всеми участниками цепочки вместо того, чтобы передать централизованное ведение счетов одному субъекту — например, банку.

                          Для этого сети требуется поддерживать консенсус вокруг информации, записанной в блокчейне. Способ достижения этого консенсуса влияет на безопасность и экономические параметры протокола. Вот пять примеров его достижения.
                          Читать дальше →
                          • +10
                          • 10,5k
                          • 7
                        • Итальянская пиццерия горячо поддержала криптовалюту

                            В мае далекого 2010 года произошло легендарное для криптовалютного мира событие. Молодой биткоин-майнер Ласло Ханеш тогда вошел в историю как первый человек, оплативший покупку реальных товаров с помощью биткоинов (BTC).

                            image

                            Ласло был одним из первопроходцев GPU-майнинга, что позволило ему скопить большой запас криптовалюты. Он заплатил Джереми Стурдиванту 10 тыс. BTC за покупку двух пицц с доставкой на дом. В то время столь внушительное количество коинов было эквивалентно всего лишь нескольким долларам, однако сегодня на открытом рынке за него можно получить целое состояние — 20 млн долларов.

                            Празднование этой первой реальной биткоин-транзакции проводится ежегодно 22 мая. В то время вы не могли ничего купить за биткоины напрямую: Ласло пришлось убедить другого энтузиаста с форума BitcoinTalk оплатить пиццы со своей кредитной карты взамен на биткоины Ласло. Сегодня, однако, криптовалютные платежи вовсю набирают обороты, и не только в биткоинах.

                            Сегодня, когда на дворе 2017 год, появилась новость, что итальянский ресторан и пиццерия под названием Gusto DiVino объявил о начале приема токенов нашей блокчейн-платформы Waves в качестве предпочтительной валюты для оплаты заказов. Местечко расположено в Санта-Понса, на Майорке — величественном острове цепи испанских Балеарских островов в Средиземном море. Ее владелец — Марко Аволедо, также известный как @deepred86. Марко — активный член Telegram-сообщества Waves, вносящий свой вклад в глобальное распространение криптовалюты.
                            Читать дальше →
                          • Блокчейн на ПМЭФ

                              1-3 июня в Санкт-Петербурге проходит международный экономический форум ПМЭФ-2017 — площадка для общения представителей деловых кругов и обсуждения ключевых экономических вопросов.

                              image

                              Сегодня в рамках ПМЭФ прошла панельная сессия «Блокчейн — рождение новой экономики», участие в которой принял Александр Иванов, гендиректор и основатель нашей блокчейн-платформы Waves Platform. В дискуссии также участвовали министр связи и массовых коммуникаций РФ Николай Никифоров, заместитель председателя ЦБ РФ Ольга Скоробогатова, первый заместитель Председателя Правительства РФ Игорь Шувалов, Основатель Ethereum Виталик Бутерин, Основатель, главный исполнительный директор The BitFury Group Валерий Вавилов и другие ключевые фигуры банковского и государственного секторов.
                              Читать дальше →
                            • Централизованные криптовалюты

                                imageНа написание этой статьи меня вдохновили недавнее ​​посещение конференции «Технологии Блокчейна» и обсуждение идей по улучшению блокчейна с коллегами. Большинство докладчиков конференции были из крупных российских банков, и их выступления касались области применения блокчейна в основном в качестве баз данных или платформ смарт-контрактов. Однако большинство из них с трудом могли ответить на вопрос: «Зачем им вообще нужен блокчейн?». Ответ недавно был дан консорциумом R3 CEV: «У нас нет блокчейна, потому что он нам не нужен». Блокчейн не нужен банкам, он нужен вместо банков. Он нужен только для децентрализованных систем, в то время, как приложения с доверенной стороной всегда будут более эффективными, простыми и т.д.

                                Значение децентрализации широко обсуждалось (см., например, пост Виталика Бутерина), и именно децентрализация представляет собой единственную реальную причину использования блокчейна. В этой статье я собираюсь обсудить степень и причины централизации существующих криптовалют.

                                Централизация управления и развития


                                Приятно думать, что никто не контролирует блокчейн, т.е. участники сети (майнеры) действуют как децентрализованное сообщество, которое обслуживает блокчейн и выбирает направление его дальнейшего развития. На самом деле, все гораздо хуже.
                                Читать дальше →
                              • Международная блокчейн-конференция Genesis Moscow Conference пройдет в Москве 26 мая

                                  image26 мая Waves Platform совместно с Digital October Center проведет Genesis Moscow Conference — первую международную блокчейн-конференцию в России, в рамках которой встретятся представители зарубежного и российского блокчейн-сообщества.

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

                                  Каждый из восьми международных спикеров Genesis Moscow Conference после своей 45-минутной презентации ответит на все вопросы участников конференции.
                                  Читать дальше →

                                Самое читаемое