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

Заявление об ограничении ответственности:

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

Что ожидать:

Краткое введение в технологию (web3 и надежность), тщательно подобранный список ресурсов (статьи, руководства, документы и многое другое весело), настройте собственную среду разработки (Remix IDE, testrpc, сети, Truffle), простой смарт-контракт и развертывание. Откройте для себя, узнайте и поздоровайтесь с будущим Интернета.

Но прежде чем тратить время на чтение этой статьи, проверьте этот сборник знаний, возможно, ответ, который вы ищете, уже ждет, иначе наслаждайтесь чтением.

Мотивации

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

Подтвердите и поделитесь моими знаниями / опытом, возможно, это сэкономит вам время (единственный действительно ценный токен, который у нас есть).

Узнавая что-то новое, я часто узнаю больше всего от коллег, которые переживают похожие трудности.

Избегайте ловушек, таких как загрузка всей бухгалтерской книги, потому что пара руководств предлагает такой подход (спойлер, нет необходимости, если вы хотите поиграть и протестировать вещи, npm i -g ethereumjs- testrpc достаточно хорошо).

Двойная проверка

Будьте внимательны! Поскольку эфир имеет реальную ценность, будьте осторожны при использовании и разработке, тщательно проверяйте контракты, транзакции и сети, в которых вы работаете или с которыми работаете. Не делайте ошибок, подобных этому человеку (стоимость транзакции 23 эфира, или 24 000 $ по состоянию на 21.01.18).

Вступление (если вы только что вернулись с острова Дефо)

Обязательно начните здесь, вступление Прити Кэсиредди

Твердость

Есть 3 основных высокоуровневых языка, на которых можно разговаривать с EVM (виртуальная машина Ethereum), которые вы затем компилируете в байтовый код (используя solc). Не зря подтема называется Solidity, потому что она является наиболее используемой (прямо как JS, что за совпадение?), А не LLL (как Lisp) или Serpent ( Python like), отсюда очевидные преимущества наличия дополнительной информации, документации и руководств.

Remix IDE - отличная платформа для кодирования, кодирования и тестирования кода, с дополнительными функциями, такими как компиляторы, отладчик, возможностью работы в разных средах (для testrpc, будьте осторожны, вам может потребоваться перейти с https в http для работы).

Я думаю, что нет необходимости расширять функции, лучше всего попрактиковаться в использовании, написав контракты самостоятельно, и я рекомендую начать здесь (спасибо el capitano) и здесь:

Видео-уроки от willitscale на Great Solidity, хорошо структурированные и даже являющиеся видеоконтентом, сэкономили мне много времени и прояснили многие сомнения и идеи. Большое ему спасибо. Или CryptoZombies от Loom Network - крутое интерактивное учебное пособие по игре.

Web3 будущее Интернета?

Web3 - это библиотека для взаимодействия с узлом Ethereum, будь то в основной сети, тестовые, такие как Rinkeby (geth) Kovan (Proof of Authority / parity) или Ropsen (Proof of Work), или даже локальный testrpc, через IPC или HTTP, в настоящее время новый версия находится в стадии реализации, предлагаю посмотреть видео с Ethereum Foundation Dev Con в Канкуне в начале ноября 2017 года Фабиана Фогельстеллера и прочитать документы здесь (текущая) и здесь (1.0). Также ознакомьтесь с документацией по JSON RPC API

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

В настоящее время разрабатывается множество других сервисов / протоколов, которые идеально соответствуют идее децентрализованной сети, как показано на диаграмме ниже или, например,. IPFS (файловое хранилище) или Uport (аутентификация).

Полный стек

По моему субъективному мнению, сборка всего вместе помогает понять, как все работает и взаимодействует, поэтому вот несколько руководств, которые я нашел наиболее информативными:

Обязательно прочтите Алекса Миллера, позор, я обнаружил это только во время написания этой статьи.

Как написать код Cryptokitties от Loom Network

Привет, мир от Махеша Мурти с использованием фреймворка Truffle (Ganache).

Простое приложение для казино от Мерунас Гринкалайтис очень информативное и действительно полнофункциональное и децентрализованное, даже с развертыванием его на IPFS (хотя еще не с использованием реестра имен p2p для домена)

Микро-классный список (еще не все)

Курируемый список децентрализованных приложений: stateofthedapps

11 инструментов разработчика, которые сделают вашу жизнь проще от Зейн Уизерспун

Шпаргалка по Solidity

Проекты loomx (ethfiddle, развертывание в бета-версии и интерактивное руководство по зомби)

Исходный код Cryptokitties

Ethereum Foundation - канал на YouTube, много контента, чтобы наверстать упущенное.

Dope видео петля, которая, я думаю, действительно представляет не только Ethereum, но и правильное ощущение сегодняшнего и завтрашнего Интернета.

Open Zeppelin - библиотека для написания смарт-контрактов.

Учебник для зоомагазинов от Truffle

Игра Ethernaut / туториал от команды Zeppelin

Infura правильный доступ к сети eth без необходимости в вашем узле (смеется) и многое другое

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