Рубрики
Без рубрики

Руководство по автостопому прототипированию Hitchhikeers.

Краткое руководство о том, как начать с прочности

Автор оригинала: Kasper Meilgaard.

Этот учебник в основном связан с личным путешествием в мир DAPP

Если вы не чувствуете себя уверенно в одном из упомянутых предметов и технологий, я предлагаю прочитать документы/после учебников/смотреть видео в прилагаемом URL (любые предложения для лучших ресурсов, чем прилагаемый URL-адрес!).

Этот учебник будет разбит на 4 шага и оставляет вас с DAPP и инфраструктурой для улучшения и обновления вашего DAPP. Я выхожу из шага развертывания чего-либо на производстве Blockchain, потому что мой опыт слишком мало, чтобы понять возможные последствия развертывания чего-либо вообще на блокчане производства Ethereum.

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

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

Часть 1: Настройка среды разработки

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

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

Если вы не установили узла или NPM начните с установки их. Мы будем использовать домашний интервайл для установки и управления узлом и NPM, поэтому мы начнем с установки этого:

Download homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Обновите Brew и добавьте в путь:

brew update
export PATH="/usr/local/bin:$PATH"

Установите узел и NPM с помощью Brew:

brew install node

Установка Truffle и Ethereumjs-TestRPC

К настоящему времени мы можем установить Truffle и Ethereumjs-TestRPC, используя NPM:

npm install -g truffle 
npm install -g ethereumjs-testrpc

Настройка нового репозитория, содержащего Truffle-React

Во-первых, создайте и CD в каталог, где вы хотите разработать свой новый проект.

mkdir hitchhikers-dapp

Затем инициализируйте репозиторий Git по вашему выбору, и теперь запустите:

truffle unbox react

Для Unebbe Trufle-React Box, и мы готовы проверить, если наша настройка способна запустить.

Запуск среды разработки

Чтобы запустить среду разработки, сначала нам придется запустить TestRPC в отдельном терминале для нашего DAPP, чтобы иметь возможность подключаться.

testrpc.

Теперь, когда наш TestRPC поднимается и работает, мы можем компилировать и перенести наши контракты трюферов и начать DAPP.

truffle compile
truffle migrate
npm start

Обратите внимание, что последняя команда дает нам URL-адрес http://localhost: 3000, чтобы проверить, работает ли наш dapp. Пожалуйста, убедитесь, что у вас есть метамаска, отключенная, когда вы открываете браузер, потому что он введет свой собственный крюк Web3.

Если все идет хорошо, ваш браузер должен открыться на localhost: 3000 и этот интерфейс

Быстрый обзор того, что мы получили до сих пор

В первую очередь у нас есть два контракта в каталоге/контракта. Избиение сердца нашего DAPP. Существует договор миграции и контракт, называемый Simplestorage.sol.

Все этот контракт делает управление состоянием одного целого числа без знака

pragma solidity ^0.4.2; 
contract SimpleStorage {  
    uint storedData;   
   
    function set(uint x) {
        storedData = x;  
    }   
    function get() constant returns (uint) {
        return storedData;  
    }
}

Существует две функции, работающие над UINT StoredData, и этот договор описывает важное различие между возвратом состояния и манипулирующим состоянием. EVM построен таким образом, что только манипулирование государственным затратным газом, а также получить текущее состояние бесплатно. Чтобы указать, что функция не корректируется

function get() constant

Обратите внимание, что этот контракт не устанавливает какие-либо ограничения на то, кто может настроить состояние StoredData или на значение самого StoredData. Так что единственное, что мы действительно должны проверить, это если мы сможем отрегулировать состояние StoredData, и если мы сможем прочитать его. Который приводит нас к тестам! Запуск тестов

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

Пожалуйста, не пропустите этот параграфы с помощью интерфейса тестирования, а трюфельная реакция уже написала наш первый тестовый контракт, используя этот интерфейс для нас. Договор называется TestSimplestorage.sol и находится в/тест.

pragma solidity ^0.4.2;
import "truffle/Assert.sol";
import "truffle/DeployedAddresses.sol";
import "../contracts/SimpleStorage.sol";
contract TestSimpleStorage {
  function testItStoresAValue() {
    SimpleStorage simpleStorage = SimpleStorage( DeployedAddresses.SimpleStorage());
    simpleStorage.set(89);
    uint expected = 89;
    Assert.equal(simpleStorage.get(), expected, "It should store the value 89.");
  }
}

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

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

Вы также можете написать текст в JavaScript (как в/tests/simplestorage.js), а мой

// Runs Truffle's test suite for smart contract tests.
truffle test

К настоящему времени мы настроили, исследовали и проверили нашу местную среду развития, и я надеюсь, что вы все еще там, чтобы пойти на веселую часть. Написание и тестирование наших собственных договоров!

Что дальше?!

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

Часть 2: Написание и тестирование ваших контрактов В этой части мы обсудим, как писать контракты и тщательно проверить их, прежде чем подключиться к пользовательскому интерфейсу, используя Web3. Часть 3: Создание пользовательского интерфейса В этой части у нас будут наши контракты, и мы готовы подключить их к интерфейсу, который позволяет людям использовать их. Часть 4: Развертывание и миграции Последнее, но не менее важное: у вас все работает, и вы готовы развернуть.

Больше будет следовать в ближайшее время!