Частная сеть Ethereum - создайте свой собственный блокчейн Ethereum!



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

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

Заинтересованы в разработке Ethereum? Проверить Live .





ждать и уведомлять в java

Руководство по частной сети Ethereum

В этом уроке я рассмотрю следующие темы:

Что такое частная сеть Ethereum?

Частная сеть Ethereum - это полностью частная цепочка блоков, которая изолирована от основной сети Ethereum. Частная сеть Ethereum в основном создается организациями для ограничения разрешений на чтение блокчейна. Только узлы с соответствующими разрешениями смогут получить доступ к этой цепочке блоков. Узлы в этой сети не подключены к основным сетевым узлам, и их охват ограничен только этим частным блокчейном.



Учебник по частной и публичной частной сети Ethereum - Edureka

Почему используется частная сеть Ethereum?

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

Особенности частной сети Ethereum

Как упоминалось в предыдущем разделе, частная сеть Ethereum используется для целей тестирования. Но зачем кому-то создавать новую сеть, если уже доступны общедоступные тестовые сети? Что ж, частная сеть Ethereum имеет свой собственный набор функций, перечисленных ниже:



  • Он действует как распределенная база данных
  • Блокчейн в частной сети Ethereum может содержать личные данные (поскольку сеть не является публичной)
  • Доступ может быть основан на разрешениях
  • Совершение транзакций может быть бесплатным
  • Аккаунты можно размещать с помощью эфировсамостоятельно, что даже не требует покупки виртуальных эфиров

Продолжая, давайте перейдем к практической части этого руководства по частной сети Ethereum.

Установка Ethereum на Ubuntu

Чтобы создать частную сеть Ethereum, нам сначала нужно установить Ethereum в нашей системе. В этом разделе руководства по частной сети Ethereum вы узнаете, как установить Ethereum в Ubuntu.

Чтобы установить Ethereum, выполните следующие команды в терминале:

$ sudo apt-get install software-properties-common $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get update $ sudo apt-get install ethereum

Выполнено! Это установит Ethereum в вашу систему.

Начнем с создания частной сети.

Демонстрация: создание частной сети Ethereum и выполнение транзакции

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

Создание учетных записей для частной сети Ethereum

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

$ mkdir private-ethereum $ cd private-ethereum

Для совершения транзакции нам понадобится как минимум два аккаунта: получатель и отправитель.

Чтобы создать две учетные записи, дважды выполните следующую команду:

$ geth --datadir ./datadir account new

Введите кодовая фраза для каждой учетной записи по запросу. Не забывайте эту кодовую фразу!

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

Сохраните эти адреса где-нибудь, потому что мы будем использовать их в дальнейшем.

Создание файла Genesis

Файл Genesis содержит свойства, определяющие цепочку блоков. Файл Genesis является отправной точкой цепочки блоков, поэтому для создания цепочки блоков необходимо создать файл Genesis. А теперь давайте создадим Genesisфайл.

Сначала создайте файл с именем genesis.json

$ nano genesis.json

А теперь скопируйте и вставьте в этот файл следующий код:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0, 'byzantiumBlock': 0}, 'сложность': '400', 'gasLimit': ' 2000000 ',' alloc ': {' 82c440bba462220c9b54600e584373014706c177 ': {' balance ':' 100000000000000000000000 '},' 9db5b590fdecc10cdb04b85a3503e94e61b207ca ': {' balance '0000} '12000000}

Заметка: В приведенном выше коде замените адрес в выделить раздел с адресами учетных записей, которые вы создали на предыдущем шаге.

Сохраните его и выйдите.

Позвольте мне вкратце объяснить содержание файла Genesis:

chainId - Это идентификационный номер цепи, который используется для различения цепочек блоков.
homesteadBlock, eip155Block, eip158Block, byzantiumBlock - эти свойства относятся к разветвлению цепочки и управлению версиями. В нашем руководстве они не нужны, поэтому давайте установим их на 0.
трудность - Это число определяет, насколько сложно будет добывать блоки. Для частных сетей желательно установить меньшее значение, поскольку это позволяет быстро добывать блоки, что приводит к быстрым транзакциям.
gasLimit - Это число - общее количество газа, которое можно использовать в каждом блоке. Мы не хотим, чтобы наша сеть превышала предел, поэтому установили его.
выделить - Эта часть используется для распределения эфиров для уже созданных аккаунтов.

Файл Genesis готов. Теперь пора запустить блокчейн.

Создание каталога данных

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

$ geth --datadir ./myDataDir init ./genesis.json

При успешном создании экземпляра вы должны увидеть следующий результат:

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

Запуск приватного блокчейна Ethereum

Чтобы запустить блокчейн, выполните следующую команду:

$ geth --datadir ./myDataDir --networkid 1114 console 2 >> Eth.log

Выполнено! Ваш частный блокчейн Ethereum запущен и работает.

В приведенной выше команде мы отправляем все журналы в отдельный файл с именем Eth.log . Geth автоматически создаст новый файл, если он не найден.

Результат этого кода должен выглядеть примерно так:

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

Чтение журналов

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

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

$ tail -f Eth.log

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

Импорт учетных записей в частную сеть

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

Когда мы создаем учетную запись, все детали учетной записи хранятся в универсальное глобальное время файл в каталоге, указанном при создании учетной записи (путь: ./datadir/keystore ). Чтобы импортировать учетные записи, нам нужно скопировать эти файлы и вставить в хранилище ключей каталог в каталоге данных(дорожка: ./myDataDir/keystore )

Это все! Учетные записи импортированы. Все просто, не правда ли? Чтобы проверить импорт, мы запустим следующую команду в гет консоль.

> eth.accounts

Это покажет список всех доступных учетных записей.

Для проверки баланса этих счетов воспользуемся следующей командой:

> web3.fromWei (eth.getBalance (), 'эфир')

У нас есть все необходимое для совершения сделки. Зачем ждать? Давай сделаем это!

Совершение транзакции

В этом руководстве по частной сети Ethereum мы отправим несколько эфиров.с одного аккаунта на другой.

Синтаксис для отправки эфиров следующий:

> eth.sendTransaction ({from: ”address”, to: “address”, value: web3.toWei (amount, 'ether')})

Мы отправим 1000 эфиров из учетной записи 1 в учетную запись 2, используя следующую команду:

> eth.sendTransaction ({от: eth.accounts [0], к: eth.accounts [1], значение: web3.toWei (1000, 'ether')})

Не получилось? Не волнуйся. У меня тоже не сработало. Это связано с тем, что учетная запись заблокирована по умолчанию и не допускает транзакций.

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

как написать метод tostring
personal.unlockAccount (eth.accounts [0], '')

Сейчас пришлем эфирыуспешно:

> eth.sendTransaction ({от: eth.accounts [0], к: eth.accounts [1], значение: web3.toWei (1000, 'ether')})

Это должно вернуть идентификатор транзакции.

Выполнено! Вы успешно совершили транзакцию!

Чтобы проверить транзакцию, давайте проверим баланс в обоих счетах.

> web3.fromWei (eth.getBalance ('0x82c440bba462220c9b54600e584373014706c177'), 'ether')
> web3.fromWei (eth.getBalance ('0x9db5b590fdecc10cdb04b85a3503e94e61b207ca'), 'ether')

Ура! Мы видим, что 1000 эфировбыли отправлены с одного аккаунта на другой!

Поздравляю! Вы создали частную сеть Ethereum и совершили транзакцию. Я надеюсь, что это руководство по частной сети Ethereum было информативным и помогло вам разобраться в частной сети Ethereum. Теперь продолжайте и попробуйте поэкспериментировать с недавно созданной частной сетью.

Есть вопрос к нам? Пожалуйста, разместите это на и мы свяжемся с вами.

Если вы хотите изучить Blockchain и построить карьеру в Blockchain Technologies, ознакомьтесь с нашими который включает в себя живое обучение под руководством инструктора и опыт реальных проектов. Этот тренинг поможет вам исчерпывающе понять, что такое блокчейн, и поможет вам достичь мастерства в этом предмете.