Страница не найдена – Information Security Squad
WordPress широко используется блоггерами и предприятиями электронной коммерции. Он прост в использовании, а разнообразие предустановленных тем позволяет создать сайт вашей мечты. Существует множество плагинов, которые можно установить, а также темы. Пользователи WordPress создают подавляющее большинство тем и плагинов, которые вы найдете. Как определить вредоносные темы и плагины WordPress Может оказаться, что некоторые темы и плагины […]
В Docker обычно возникает вопрос: “Как мне подключить мои контейнеры непосредственно к локальной физической сети?”. Это особенно актуально, когда вы используете приложения мониторинга, собирающие сетевую статистику, и хотите подключить контейнер к устаревшим приложениям. Возможным решением этого вопроса является создание и внедрение типа сети macvlan. Сети macvlan – это специальные виртуальные сети, которые позволяют создавать “клоны” […]

Различные дистрибутивы Linux имеют различные окружения рабочего стола. Но самое лучшее в Linux – это то, что он полностью настраиваемый, и мы можем изменить практически все в нашем дистрибутиве Linux, включая окружение рабочего стола. Ubuntu имеет окружение рабочего стола GNOME, ранее Kali Linux также использовал GNOME в качестве окружения рабочего стола по умолчанию, но после […]
Kubernetes – это отличная платформа для управления контейнерами, которая в последнее время демонстрирует прорыв как в плане функциональности, так и в плане безопасности и отказоустойчивости. Специалисты утверждают, что архитектура Kubernetes позволяет ей легко переживать различные сбои и оставаться активной несмотря ни на что, что делает ее отличным вариантом для проведения пентестов. Далее мы рассмотрим как […]
В этом подробном руководстве мы будем изучать цифровую криминалистику с помощью машины Kali Linux. Сегодня мы будем восстанавливать удаленные или потерянные файлы с помощью инструмента Foremost, даже он может восстанавливать файлы с отформатированных носителей. Foremost – это криминалистический инструмент, который может восстанавливать потерянные файлы на основе их заголовков, нижних колонтитулов и внутренних структур данных. Foremost […]
Страница не найдена – Information Security Squad
WordPress широко используется блоггерами и предприятиями электронной коммерции. Он прост в использовании, а разнообразие предустановленных тем позволяет создать сайт вашей мечты. Существует множество плагинов, которые можно установить, а также темы. Пользователи WordPress создают подавляющее большинство тем и плагинов, которые вы найдете. Как определить вредоносные темы и плагины WordPress Может оказаться, что некоторые темы и плагины […]
В Docker обычно возникает вопрос: “Как мне подключить мои контейнеры непосредственно к локальной физической сети?”. Это особенно актуально, когда вы используете приложения мониторинга, собирающие сетевую статистику, и хотите подключить контейнер к устаревшим приложениям. Возможным решением этого вопроса является создание и внедрение типа сети macvlan. Сети macvlan – это специальные виртуальные сети, которые позволяют создавать “клоны” […]
Различные дистрибутивы Linux имеют различные окружения рабочего стола. Но самое лучшее в Linux – это то, что он полностью настраиваемый, и мы можем изменить практически все в нашем дистрибутиве Linux, включая окружение рабочего стола. Ubuntu имеет окружение рабочего стола GNOME, ранее Kali Linux также использовал GNOME в качестве окружения рабочего стола по умолчанию, но после […]
Kubernetes – это отличная платформа для управления контейнерами, которая в последнее время демонстрирует прорыв как в плане функциональности, так и в плане безопасности и отказоустойчивости. Специалисты утверждают, что архитектура Kubernetes позволяет ей легко переживать различные сбои и оставаться активной несмотря ни на что, что делает ее отличным вариантом для проведения пентестов. Далее мы рассмотрим как […]
В этом подробном руководстве мы будем изучать цифровую криминалистику с помощью машины Kali Linux. Сегодня мы будем восстанавливать удаленные или потерянные файлы с помощью инструмента Foremost, даже он может восстанавливать файлы с отформатированных носителей. Foremost – это криминалистический инструмент, который может восстанавливать потерянные файлы на основе их заголовков, нижних колонтитулов и внутренних структур данных. Foremost […]
Настройка сети с помощью утилиты ip в Debian linux
Команда ip используется для назначения адреса сетевому интерфейсу и/или конфигурирования параметров сетевого интерфейса в дистрибутивах Linux. Эта команда заменяет собой старую добрую и ныне устаревшую команду ifconfig в современных дистрибутивах Linux.
Команда ip может использоваться для следующих целей:
- Узнать какие интерфейсы сконфигурированы в системе.
- Запросить статус IP интерфейса.
- Сконфигурировать локальный, Ethernet и другие интерфейсы.
- Пометить интефейс как up или down.
- Сконфигурировать или изменить статическую маршрутизацию или маршрутизацию по умолчанию.
- Сконфигурировать туннель через IP.
- Сконфигурировать содержимое ARP или NDISC кэша.
- Назначить IP адресы, маршруты, подсети и другую IP информацию на интерфейс.
Синтаксис
ip OBJECT COMMAND ip [options] OBJECT COMMAND ip OBJECT help
Понимание синтаксиса OBJECTS в комманде ip
Объект | Сокращенная форма | Задача |
---|---|---|
link | l | Сетевое устройство.![]() |
address | a, addr | IP адрес на устройстве. |
addrlabel | addrl | Управление метками для выбора адреса. |
neighbour | n, neigh | Записи для ARP или NDISC кэшей. |
route | r | |
rule | ru | Правила в базе политик маршрутизации. |
maddress | m, maddr | Мультикаст адрес. |
mroute | mr | Записи мультикастового кэша маршрутизации. |
tunnel | t | Туннель через IP. |
xfrm | x | Фреймворк для протокола IPsec. |
Чтобы получить информацию о каждом из объектов используйте команду help следующим образом:
ip OBJECT help ip OBJECT h ip a help ip r help
Предупреждение: команды описанные ниже должны выполняться с осторожностью, так как ошибка может привести к потере соединения с сервером.
Примеры использования команды ip
Не пугайтесь синтаксиса команды ip. Давайте сразу начнем с примеров.
Показать информацию обо всех сетевых интерфейсах
Введите следующую команду чтобы получить список всех ip адресов назначенных всем сетевым интерфейсам:
ip a
или
ip addr
Пример вывода:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:8b:46:9a brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe8b:469a/64 scope link
valid_lft forever preferred_lft forever
Вы можете выбрать между IPv4 и IPv6 используя следующий синтаксис:
### Показывать только TCP/IP IPv4 ## ip -4 a ### Показывать только TCP/IP IPv6 ### ip -6 a
Также существует возможность вывести детали только об определенном сетевом интерфейсе:
### Показать только интерфейс eth0 ### ip a show eth0 ip a list eth0 ip a show dev eth0 ### Показать только поднятые интерфейсы ### ip link ls up
Назначить интерфейсу IP адрес
Для того чтобы добавить IP адрес используется синтаксис следующего вида:
ip a add {ip_addr/mask} dev {interface}
Чтобы назначить адрес 192. 168.1.200/255.255.255.0 на интерфейс eth0, введите:
ip a add 192.168.1.200/255.255.255.0 dev eth0
или
ip a add 192.168.1.200/24 dev eth0
Добавить широковещательный адрес на интерфейс
По умолчанию, команда ip не задает какой-либо широковещательный адрес до тех пор, пока это будет недвусмысленно указано. Таким образом следующий синтаксис задает широковещательный адрес ADDRESS:
ip addr add brd {ADDDRESS-HERE} dev {interface} ip addr add broadcast {ADDDRESS-HERE} dev {interface} ip addr add broadcast 172.20.10.255 dev dummy0
Существует возможность использовать специальные символы + и — вместо широковещательного адреса указывая хостовую часть адреса. В этом примере добавим адрес 192.168.1.50 с маской 255.255.255.0 (/24) со стандартным широковещательным адресом и зададим название eth0Work на интерфейс eth0:
ip a add 192.168.1.50/24 brd + dev eth0 label eth0Work
Вы можете задать лупбек адрес на лупбек интерфейсе lo следующим образом:
ip a add 127.0.0.1/8 dev lo brd + scope host
Удалить IP адрес с интерфейса
Синтаксис для удаления IPv4/IPv6 адреса следующий:
ip a del {ipv6_addr_OR_ipv4_addr} dev {interface}
Чтобы удалить 192.168.1.200/24 с интерфейса eth0, введите:
ip a del 192.168.1.200/24 dev eth0
Сбросить ряд IP адресов с интерфейса
Вы можете удалять IP адреса с интерфейса по одному, как показано выше. Однако команда flush может удалить набор адресов с интерфейса по указанному признаку. Например, вы можете удалить все адреса из частной сети 192.168.2.0/24 с помощью команды:
ip -s -s a f to 192.168.2.0/24
Пример вывода:
2: eth0 inet 192.168.2.201/24 scope global secondary eth0
2: eth0 inet 192.168.2.200/24 scope global eth0
*** Round 1, deleting 2 addresses ***
*** Flush is complete after 1 round ***
Вы можете выключить IP адрес на всех ppp (Point-to-Point) интерфейсах:
ip -4 addr flush label "ppp*"
Еще один пример для всех Ethernet интерфейсов:
ip -4 addr flush label "eth0"
Как изменить состояние интерфейса на UP или DOWN
Синтаксис:
ip link set dev {DEVICE} {up|down}
К примеру, чтобы положить интерфейс eth2, используйте:
ip link set dev eth2 down
А чтобы поднять этот же интерфейс:
ip link set dev eth2 up
Как изменить txqueuelen устройства
Вы можете установить длину очереди передачи устройства с помощью ifconfig или команды ip следующим образом:
ip link set txqueuelen {NUMBER} dev {DEVICE}
В этом примере изменим txqueuelen со значения по умолчанию, равного 1000, на 10000 для интерфейса 10000:
ip link set txqueuelen 10000 dev eth0 ip a list eth0
Как изменить MTU устройства
Для гигабиных сетей вы можете установить максимальный размер блоков передачи (MTU) для лучшей производительности сети. Синтаксис следующий:
ip link set mtu {NUMBER} dev {DEVICE}
Например, установим MTU устройства eth0 на 9000:
ip link set mtu 9000 dev eth0 ip a list eth0
Пример вывода:
2: eth0: mtu 9000 qdisc pfifo_fast state UP qlen 1000
link/ether 00:08:9b:c4:30:30 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.10/24 brd 192.168.1.255 scope global eth2
inet6 fe80::208:9bff:fec4:3030/64 scope link
valid_lft forever preferred_lft forever
Показать соседей (arp кэш)
Синтаксис:
ip n show ip neigh show
Пример вывода (часть информации скрыта):
74.xx.yy.zz dev eth2 lladdr 00:30:48:yy:zz:ww REACHABLE
10.10.29.66 dev eth0 lladdr 00:30:48:c6:0a:d8 REACHABLE
74.ww.yyy.xxx dev eth2 lladdr 00:1a:30:yy:zz:ww REACHABLE
10.10.29.68 dev eth0 lladdr 00:30:48:33:bc:32 REACHABLE
74.rr.ww.fff dev eth2 lladdr 00:30:48:yy:zz:ww DELAY
10.10.

10.10.29.74 dev eth0 lladdr 00:30:48:8e:31:ac REACHABLE
Последнее поле показывает состояние системы «определения недоступности соседа»:
- STALE — сосед существует, но, скорее всего недоступен, поэтому ядро попробует проверить это при первой ближайшей передаче.
- DELAY — пакет был отправлен соседу в состоянии STALE и ядро ждет подтверждения.
- REACHABLE — сосед существует и определенно доступен.
Добавить новую ARP запись
Синтаксис:
ip neigh add {IP-HERE} lladdr {MAC/LLADDRESS} dev {DEVICE} nud {STATE}
Например, добавить постоянную ARP запись для соседа 192.168.1.5 на устройстве eth0:
ip neigh add 192.168.1.5 lladdr 00:1a:30:38:a8:00 dev eth0 nud perm
Где,
Состояние соседа | Значение |
---|---|
permanent | Состояние соседа занято навсегда и может быть удалено только администратором.![]() |
noarp | Состояние соседа валидно. Попыток проверить состояние не будет, но может быть удалено, когда закончится время жизни. |
stale | Состояние соседа валидно, но подозрительно. Эта опция для ip neigh не меняет состояние соседа, если оно было валидно и адрес не был изменен этой командой. |
reachable | Состояние соседа валидно до окончания таймаута доступности. |
Удалить ARP запись
Синтаксис:
ip neigh del {IPAddress} dev {DEVICE}
Удалить запись для соседа 192.168.1.5 на интерфейсе eth2:
ip neigh del 192.168.1.5 dev eth2
Изменить состояние на reachable для соседа 192.168.1.100 на устройстве eth2:
ip neigh chg 192.168.1.100 dev eth2 nud reachable
Очистить ARP запись
Команда flush или f очищает таблицы соседей или arp таблицы. Синтаксис:
ip -s -s n f {IPAddress}
Например:
ip -s -s n f 192.168.1.5
или
ip -s -s n flush 192.168.1.5
ip route: команды управления таблицей маршрутизации
Используйте следующие команды для управления таблицей маршрутизации ядра.
Показать таблицу маршрутизации
Посмотреть таблицу маршрутизации:
ip r ip r list ip route
Пример вывода:
default via 192.168.1.254 dev eth2 192.168.1.0/24 dev eth2 proto kernel scope link src 192.168.1.10
Показать роутинг для 192.168.1.0/24:
ip r list 192.168.1.0/24
Пример вывода:
192.168.1.0/24 dev eth2 proto kernel scope link src 192.168.1.10
Добавить новый маршрут
Синтаксис:
ip route add {NETWORK/MASK} via {GATEWAYIP} ip route add {NETWORK/MASK} dev {DEVICE} ip route add default {NETWORK/MASK} dev {DEVICE} ip route add default {NETWORK/MASK} via {GATEWAYIP}
Добавить статический маршрут в сеть 192.168.1.0/24 через шлюз 192.168.1.254:
ip route add 192.168.1.0/24 via 192.168.1.254
Чтобы маршрутизировать весь трафик через шлюз 192.168.1.254 подключенный через сетевой интерфейс eth0:
ip route add 192.168.1.0/24 dev eth0
Удалить маршрут
Команда чтобы удалить маршрут по умолчанию:
ip route del default
В этом примере удалим маршрут созданный в предыдущем блоке:
ip route del 192.168.1.0/24 dev eth0
Наверх
Опубликовано
phoenixminer fanmin. 用它来 Step 2: Fill your ETH address in the wallet line. Aug 02,






































Майнинг Ethereum на Ubuntu и Debian — Учебники по Linux
Ethereum зарекомендовал себя как один из крупных игроков в мире криптовалют. Его стоимость неуклонно растет уже более года, и это одна из самых продаваемых монет в мире.
Ethereum также является технологией с открытым исходным кодом, а блокчейн Ethereum обеспечивает совершенно новую волну веб-разработки и веб-технологий. Несмотря на то, что первоначальная волна интереса к Эфириуму утихла, явно еще не поздно принять участие.
Если вы не используете драйверы AMDGPU-PRO, ознакомьтесь с нашим руководством по установке OpenCL для AMDGPU с открытым исходным кодом, прежде чем двигаться дальше.
Прежде чем приступить к установке, убедитесь, что у вас установлены последние графические драйверы для вашей карты с поддержкой OpenCL. Это могут быть проприетарные драйверы NVIDIA, драйверы AMD с открытым исходным кодом или драйверы AMDGPU-PRO в Ubuntu.
ПРИМЕЧАНИЕ
Установка графических драйверов для вашей карты выходит за рамки данного руководства.Прежде чем продолжить, убедитесь, что графические драйверы для вашей карты полностью установлены и обновлены.
В этом уроке вы узнаете:
- Как установить Эфириум
- Как установить программное обеспечение для майнинга Ethminer
- Как установить и настроить Coin Wallet
- Как начать майнинг и подключиться к пулу майнинга
Майнинг Ethereum на Ubuntu и Debian
Требования к программному обеспечению и используемые условные обозначения
Категория | Требования, соглашения или используемая версия программного обеспечения |
---|---|
Система | Рабочая установка операционной системы Debian или Ubuntu Linux |
Программное обеспечение | Ehtereum, Ethminer, кошелек для монет |
Прочее | Привилегированный доступ к вашей системе Linux от имени пользователя root или с помощью команды sudo .![]() |
Соглашения | # — требует выполнения данных команд linux с привилегиями root либо непосредственно от имени пользователя root, либо с помощью команды sudo $ — требует выполнения данных команд linux от имени обычного непривилегированного пользователя |
Подготовьте адрес своего кошелька Ethereum
Не стесняйтесь пропустить этот шаг, если у вас уже есть адрес кошелька Ethereum.Таким образом, у вас есть место для хранения вашего Ethereum. Если у вас есть предпочтения в кошельке, во что бы то ни стало, используйте его. В этом руководстве в качестве примера будет использоваться Coin Wallet. Используйте следующие команды для установки Coin Wallet в вашей системе Ubuntu и Debian Linux:
Убунту
Чтобы установить Coin Wallet в вашей системе Ubuntu, выполните следующую команду
snap
:$ sudo snap install монета
Дебиан
Чтобы установить Coin Wallet в Debian, вам может понадобиться сначала установить
snapd
.Когда все будет готово, установите Coin Wallet. Последовательность команд для выполнения всей установки может выглядеть примерно так:
$ sudo apt install snapd $ sudo systemctl включить snapd $ sudo systemctl начать snapd $ sudo snap установить монету
Настройте свой бумажник
Откройте свой новый кошелек для монет. В зависимости от среды вашего рабочего стола он может находиться в разделе «Интернет» или в разделе «
Другое
».Запустить приложение Coin Wallet
На первом экране вас спросят, хотите ли вы открыть новый кошелек или существующий криптокошелек.Нажмите «Новый» и следуйте инструкциям по созданию новой парольной фразы кошелька.
ПРЕДУПРЕЖДЕНИЕ
Обязательно запишите новую парольную фразу. Нет парольной фразы, нет доступа к вашему кошельку, и в результате вы не сможете получить доступ к своим средствам.После запуска нового кошелька. Переключитесь на монету Ethereum, чтобы получить доступ к адресу вашего кошелька Ethereum.
Переключиться на монету эфириума
Получите адрес своего кошелька Ethereum, нажав
Получите
Готовое изделие будет иметь ваш кошелек с вашим адресом.Запишите свой адрес, так как адрес является важной частью. Это то, что вы будете использовать для настройки своих операций по добыче, а также для покупки и продажи Ethereum.
Установите пакеты Ethereum
Существует официальный Ethereum PPA со всеми пакетами, которые вам понадобятся для начала работы с Ethereum. В этом руководстве есть еще несколько программ, которые вы установите, но это основное. PPA разработан для Ubuntu, но отлично работает и с Debian.
Убунту
Установите Ethereum на Ubuntu
Очевидно, что в Ubuntu проще использовать PPA.Добавьте его в свою систему.
$ sudo add-apt-repository ppa:ethereum/ethereum $ sudo подходящее обновление
Теперь установите пакет Ethereum.
$ sudo apt установить эфириум
Дебиан
В Debian процесс практически такой же, просто он не такой автоматический.
Начните с создания файла по адресу
/etc/apt/sources.list.d/ethereum.list
.В этом файле поместите следующие две строки.
deb http://ppa.launchpad.net/ethereum/ethereum/ubuntu бионический основной deb-источник http://ppa.launchpad.net/ethereum/ethereum/ubuntu бионический основной
Сохранить и выйти. Затем вам нужно будет импортировать ключ GPG для PPA.
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 2A518C819BE37D2C2031944D1C52189C923F6CA9
После того, как Apt завершит импорт ключа, обновите свою систему и установите пакет Ethereum.
$ sudo подходящее обновление $ sudo apt установить эфириум
Подтвердите, что Эфириум установлен:
$ dpkg -l | grep эфириум II Эфириум 1.9.25+build24398+bionic amd64 Метапакет для установки geth и других инструментов
Установить Ethminer
Не очень выгодно майнить Эфириум на своем процессоре. Однако майнинг на GPU имеет смысл при правильной конфигурации.
Есть две программы для майнинга на GPU: Ethminer и Claymore. Это руководство будет охватывать Ethminer. Тем не менее, они оба совершенно хорошие варианты.
Перейдите на страницу релизов проекта и скачайте последний архив Linux.Распакуйте tarball в каталог, где вы хотите запустить Ethminer. Это предварительно скомпилированный двоичный файл, так что это все, что вам нужно сделать, прежде чем вы начнете его использовать.
ЗНАЕТЕ ЛИ ВЫ?
Ethminer — лишь один из множества других майнеров, доступных для майнинга Ethereum или других криптовалют. Другие примеры программного обеспечения для майнинга включают Gminer, Team Red Miner, lolMiner или PhoenixMiner, и это лишь некоторые из них. Ethminer — отличный инструмент, но попробуйте и другие майнеры, чтобы посмотреть, сможете ли вы увеличить скорость майнинга.Ниже приведен пример загрузки, извлечения и запуска Ethminer v0.18 в Ubuntu и Debian Linux:
$ mkdir этмайнер $ wget -O ethminer/ethminer.tar.gz https://github.
com/ethereum-mining/ethminer/releases/download/v0.18.0/ethminer-0.18.0-cuda-9-linux-x86_64.tar.gz $ tar xzf ethminer/ethminer.tar.gz -C ethminer/ $ ethminer/bin/ethminer --help этмайнер 0.18.0 Сборка: linux/релиз/gnu Ethminer — майнер этэша на графическом процессоре минимальное использование: ethminer [DEVICES_TYPE] [OPTIONS] -P... [-P...]
Начать майнинг
Откройте терминал и перейдите в каталог, в который вы распаковали Ethminer. Функция справки для Ethminer не так… полезна, как могла бы быть. Форматирование синтаксиса может быть немного странным. Тем не менее, это стоит проверить. Вам понадобятся две основные вещи: флаг для указания ваших вычислений и флаг для вашего пула.
-G
предназначен для OpenCL, а-U
работает с Cuda. Флаг-P
позволяет указать ваш пул.Итак, выбираем бассейн. Есть несколько отличных. Ethpool и 2Miners — хорошие места для начала. Ни один из них не требует от вас регистрации или создания учетной записи.
Вы предоставляете свой адрес Ethereum только через команду майнинга.
Говоря о команде майнинга, наконец-то пришло время приступить к ней. Взгляните на примеры Ethminer для лучшего руководства по синтаксису. Каждый пул немного отличается, но ниже приведен пример для 2Miners и Ethpool.
Обе приведенные ниже команды выполняются из ранее извлеченного каталога
ethminer/bin
:2Miners Пример команды майнинга Ethereum:
$./ethminer -G -P stratum1+tcp://ВАШ[email protected]:2020
Пример команды майнинга Ethpool Ethereum.
$ ./ethminer -G -P stratum1+tcp://ВАШ[email protected]:3333
Начните добычу Ethereum с помощью ethminer.
Как только вы введете свою команду, Ethminer начнет майнинг. Он будет работать до тех пор, пока вы не отмените его. Когда вы майните, вы вносите свой вклад в свой пул. Затем пул присудит вам долю добытого Ethereum из всего пула в зависимости от объема работы, которую вы вложили.
Чем больше вы вкладываете, тем больше Ethereum вы зарабатываете. Все это основано на вычислительной мощности графического процессора, и вы можете найти в Интернете средний хешрейт графического процессора и калькуляторы прибыльности, которые помогут вам понять, собираетесь ли вы получать прибыль от своей установки.
Следите за своей операцией майнинга Ethereum
В этот момент вы просто бездельничаете и позволяете оборудованию делать всю работу. Прежде чем оставить свое оборудование для майнинга без присмотра, сначала подождите, пока вы не отправите свою первую долю майнинга, так как это гарантирует, что все идет по плану.В зависимости от скорости вашего оборудования это может занять некоторое время.
Первая доля майнинга принята пулом 2miners.com.
После того, как ваши майнеры отправят первую акцию, вы сможете найти адрес своего кошелька Ethereum в соответствующем пуле для майнинга, чтобы отслеживать прогресс майнинга Ethereum и текущие доходы.
Заключительные мысли
Майнинг криптовалюты нестабилен. Аппаратное обеспечение не всегда дешевое, а затраты на электроэнергию продолжают расти. Иногда можно выиграть по-крупному.В других случаях вы разоритесь довольно быстро. Сделайте свою домашнюю работу, прежде чем делать какие-либо инвестиции.
Если вы в конечном итоге решите, что майнинг не для вас, вы все равно можете использовать кошелек для торговли и использования Ethereum. В конце концов, криптовалюта — это валюта, и она по-прежнему хороша для своего предназначения.
Поиск и устранение неисправностей
При попытке установить пакет ethereum в Debian Linux появляется следующее сообщение:
apt установить эфириум Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Сделанный Не удалось установить некоторые пакеты. Это может означать, что у вас есть запрошена невозможная ситуация или если вы используете нестабильную дистрибутив, что некоторые необходимые пакеты еще не созданы или был перемещен из входящих.Следующая информация может помочь разрешить ситуацию: Следующие пакеты имеют неудовлетворенные зависимости: ethereum : Зависит: abigen, но он не будет установлен Зависит: загрузочный узел, но он не будет установлен Зависит: evm, но он не будет установлен Зависит: geth но не будет установлен Зависит: ключ, но он не будет установлен E: Невозможно исправить проблемы, у вас есть сломанные пакеты.
Чтобы решить эту проблему, убедитесь, что вы включили следующий репозиторий Ubuntu, как показано выше:
deb http://ppa.launchpad.net/ethereum/ethereum/ubuntu бионический основной deb-src http://ppa.launchpad.net/ethereum/ethereum/ubuntu бионический основной
Запустите узел Ethereum в Debian на внешнем SSD (конец 2019 г.) | Уильям Шваб
Во-первых, мы должны посмотреть, есть ли у вашего компьютера то, что нужно.
Насколько я понял из поиска в Интернете, ваш процессор не должен быть проблемой, если вы работаете на компьютере. Если вы используете Raspberry Pi или что-то подобное, я предлагаю вам ознакомиться с этим руководством.
Жесткий диск важнее. Хотя возможна синхронизация с цепочкой с жестким диском, рекомендуется SSD. Рекомендуется не менее 500 ГБ. С улучшениями в Geth я могу засвидетельствовать, что это не обязательно должен быть внутренний накопитель — подойдет внешний SSD, который подключается через USB. Что касается статистики, я видел, что у вас должно быть не менее 50 МБ/с (запись/чтение). У Грегуара есть инструкции по тестированию вашей системы в его руководстве, если вам интересно узнать, на что способен ваш жесткий диск.
(Вы можете задаться вопросом, как долго будет достаточно 50 МБ/с. Хотя это правда, что блок-цепочка Ethereum значительно выросла с течением времени, объем, который каждый узел должен будет хранить, должен уменьшиться с Eth 2.0/Serenity. По состоянию на ноябрь 2019 г. , размер моей ноды примерно 175 Гб.Даже если скорость роста ускорится, а Eth 2.0 и шардинг какое-то время не придут, я считаю, что 500 Гб должно продержаться какое-то время. Конечно, ничего страшного с получением целого ТБ, особенно если вы также хотите запустить Swarm.)
Что касается подключения к Интернету, я предполагаю, что вам нужно не менее 10 Мбит / с, чтобы не мешать использованию вашего компьютера для других целей. Если вы работаете на ноутбуке и иногда у вас будет более медленное соединение, я бы предположил, что вы можете приостановить работу своего узла в более медленных областях и выполнить резервную синхронизацию, когда скорость превысит 10 Мбит/с.
Наконец, наберитесь терпения. Даже со всеми ускорениями первоначальная синхронизация может легко занять более трех дней. С другой стороны, мы собираемся превратить это в фоновый процесс, поэтому он не потребует от вас особого внимания.
Я написал эту статью до того, как обнаружил Ethereum Grid и официальный проект Ethereum Foundation по созданию простого в использовании удобного графического интерфейса для запуска узлов, и не только Geth — они предварительно загрузили кучу разных клиентов, это похоже. Вот скриншот с их GitHub:
Я не игрался с Grid и не знаю, каковы системные требования и насколько плавно он работает. Я имею в виду это без какого-либо оскорбления, но я обнаружил, что в пространстве блокчейна, как и в остальном мире, сокращение иногда занимает больше времени, поэтому вы можете по-прежнему следовать руководству и заставить свой узел работать «трудным путем». .Даже если вы собираетесь использовать Grid, приведенные ниже инструкции по настройке внешнего SSD и установке Go могут оказаться полезными.
Еще одной причиной для запуска Geth из командной строки может быть подключение узла Swarm. Grid обещает магазин приложений для плагинов, и они планируют добавить функцию «нажми и запусти», но пока не предлагают ее (по состоянию на ноябрь 2019 года — не стесняйтесь проверить, изменилось ли что-нибудь). Возможно, подключить узел Swarm из командной строки к Geth, работающему в Grid, так же просто, как подключить Swarm к «обычному» узлу Geth, но я, к сожалению, не знаю.
Несмотря на все эти возражения, я хочу подчеркнуть, что Grid выглядит очень круто и является проектом Ethereum Foundation. Это может быть хорошим началом и даже более простым опытом, чем это руководство.
Настройка внешнего SSD(Особая благодарность Gregoire Jeanmart — этот раздел в значительной степени скопирован из его отличного руководства по запуску узла на Raspberry.)
Если вы используете внешний SSD, вот несколько шагов по его настройке. Используйте sudo fdisk -l
, чтобы найти диск. Вот пример вывода этой команды:
Диск /dev/sda: 931,5 МБ, 1000204886016 байт, 1953525168 секторов Модель диска: Kingston FF01BT2
Единицы: секторы 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 4096 байт
Размер ввода-вывода (минимальный/оптимальный): 4096 байт / 4096 байт(...)
Диск /dev/sdb: 465.8 ГиБ, 500107862016 байт, 976773168 секторов
Модель диска: Portable SSD T5
Единицы: 1 секторов * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный) : 512 байт / 512 байт
В данном случае /dev/sdb
— это ваш внешний SSD. Мы будем использовать это в качестве примера в дальнейшем, поэтому, если ваш SSD находится в другом месте, замените
/dev/sdb
на любое местоположение, которое вы получили из fdisk
.
Если вам нужно (пере)разбить диск на разделы, используйте следующее. Это сотрет все данные на диске. Сделайте резервную копию содержимого в другом месте, а затем продолжите:
sudo mkfs.ext /dev/sdb
Нажмите «y» при появлении запроса.
Мы собираемся смонтировать SSD вручную (замените user:group
на ваше имя пользователя и группу, разделенные двоеточием (:) — если вы не знаете о группах, введите groups
в терминале и используйте первый вариант):
sudo mkdir /mnt/ssd
sudo chown -R user : group /mnt/ssd
sudo mount /dev/sdb /mnt/ssd
Мы хотим, чтобы SSD автоматически монтировался по адресу запускать.Введите sudo blkid
и получите UUID
, связанный с SSD (тот, что находится по адресу /dev/sdb
или там, где находится ваш SSD). Скопируйте его — он понадобится нам через секунду.
sudo nano /etc/fstab
Добавьте следующее (не забудьте поставить пробел после вставленного UUID):
UUID= **Вставьте сюда UUID из blkid** /mnt/ssd ext4 defaults 0 0
Изменения не вступят в силу без перезагрузки, поэтому, если вы хотите продолжить работу и запустить Geth, вам потребуется перезагрузить компьютер.Как только вы это сделаете, вы можете ввести следующее, чтобы увидеть, действительно ли компьютер смонтировал SSD:
df -ha /dev/sdb
В выводе должно быть указано, что /dev/sdb
смонтирован на /mnt/ssd.
.
Установка и настройка go
Мы будем запускать Geth, клиент Ethereum, написанный на Go, поэтому нам нужно настроить Go. Версия Go, указанная ниже, является самой последней версией на момент написания этой статьи, но вы можете проверить сайт Golang, чтобы узнать, есть ли более свежая версия.Мы предполагаем обычную 64-битную архитектуру. Если у вас возникнут проблемы, проверьте веб-сайт. Установка и запуск Go может оказаться непростой задачей, поэтому мы попытаемся упростить этот процесс:
cd ~/Downloads
wget https://dl.google.com/go/go1.13.5.linux-amd64. tar.gz
sudo tar -C /usr/local -xvf go1.13.4.linux-amd64.tar.gz
Примечание. этого обновления (8 декабря 2019 г.)). Вы можете проверить здесь, чтобы убедиться, что это все еще так.Если есть более новая версия, вы можете удалить 1.13.5
, заменив ее любой версией, которая является самой последней стабильной.
Нам нужно установить переменные среды. Есть несколько способов сделать это, но вот один из них:
sudo nano /etc/profile
Это откроет текстовый редактор Nano в файле /etc/profile
. (Если у вас нет Nano, sudo apt install nano
должен сработать в системах, подобных Debian. Замените менеджером пакетов вашего соседа, если вы используете другой Linux.)
Внизу файла добавьте следующее:
export PATH=$PATH:/usr/local/go/bin
Нажмите Ctrl+X , Y и ENTER для сохранения.
sudo source /etc/profile
Это должно его загрузить. Если вы введете go version
в своем терминале, вы должны увидеть что-то вроде go version go1.13.5 linux/arm
в качестве вывода. Если нет, то вы находитесь в прекрасном мире устранения неполадок Go, и я желаю вам удачи! Возможно, вам придется стереть Go и переустановить его, но вы можете попытаться найти что-нибудь полезное в Интернете об ошибках, которые вы получаете.
Установка Geth
Перейдите в любую папку, в которой вы хотите сохранить исходный код Geth. минутку, не волнуйтесь
go install github.com/ethereum/go-ethereum/cmd/geth
Примечание: @1.9.9
сообщает перейти к загрузке версии 1.9.9, которая является последней стабильной Geth выпуск на момент этого обновления (8 декабря 2019 г.). Вы обязательно должны проверить здесь, чтобы узнать номер самой последней версии стабильного выпуска — он будет напечатан крупным шрифтом вверху страницы, заменив 1.
с версией последней стабильной версии. 9.9
На этом этапе вы можете обнаружить различные проблемы с установкой Go. См. выше и более широкий Интернет, если это произойдет.
sudo mv $GOPATH/bin/go-ethereum/build/bin/geth /usr/local/bin
Теперь версия geth
должна выводить информацию о вашей текущей установке. Если это так, поздравляем! Вы установили Geth.
Давайте создадим каталог данных с разрешениями. (Предполагается, что вы используете внешний диск, подключенный к /mnt/ssd
, в противном случае замените его внутренним расположением — что-то вроде
sudo mkdir /mnt/ssd/ethereum
sudo chown - R пользователь : группа /mnt/ssd/ethereum
Синхронизация с Geth
Если все прошло хорошо, мы готовы к работе с Geth и синхронизацией.
Был достигнут значительный прогресс в ускорении начальной синхронизации с текущим состоянием цепочки, и сейчас работают над еще более интересными вещами. Это означает, что вы хотите использовать специальный режим синхронизации, который должен сократить первоначальную синхронизацию до нескольких дней. Попробуйте следующее:
geth --syncmode fast --cache 1024 --datadir /mnt/ssd/ethereum
(Если он использует слишком много памяти, попробуйте отключить флаг --cache
. --cache 256
работает отлично, но синхронизация займет несколько дней, тогда как --cache 1024
, вероятно, понадобится всего пару дней.При 8 ГБ ОЗУ моя система не пострадала на --cache 256
, если это поможет.)
Если все в порядке, должен быть довольно солидный поток вывода. Это здорово, но нажмите Ctrl+C, чтобы остановить его, потому что мы просто проверяем, работает ли он. Мы не хотим, чтобы вам приходилось вручную перезапускать Geth каждый раз при загрузке, поэтому мы собираемся превратить его в системный процесс (опять же, скопированный с разрешения Gregoire Jeanmart).
sudo nano /etc/systemd/ system/geth.service
В Nano введите следующее (как и раньше, замените пользователя
и группу
своим именем пользователя и группой.):
Примечание по форматированию: строка, начинающаяся с ExecStart
, не заканчивается до /mnt/ssd/ethereum
. Я не мог придумать, как поместить его в одну строку, а встраивание Gist обрезало бы скрипт до конца. — -syncmode fast —cache 256 —datadir mnt/ssd/ethereum
Пользователь= пользователь
Группа= группа
Перезапуск=всегда
RestartSec=5s[Install]
WantedBy=многопользовательский.target
RequiredBy=swarm.service
Alias=get.service
(Опять же, кеш выше установлен на 256. Если вы используете выделенный узел или у вас много оперативной памяти, вам, вероятно, следует увеличить это значение до 1024 или даже 2048. Кроме того, я бы рекомендовал снять флаг --syncmode fast
после синхронизации.)
Ctrl+X, затем Y и Enter, чтобы сохранить изменения. Следующие команды перезагрузят системные демоны, которые теперь будут включать
geth.service
, затем запустят geth
, затем пометят это как службу, которая будет запускаться при запуске:
sudo systemctl daemon-reload
sudo systemctl start geth
sudo systemctl enable geth
Вы можете проверить журналы, чтобы узнать, работает ли Geth:
sudo tail -f /var/log/syslog
Ctrl+C, чтобы выйти.В своем руководстве Грегуар содержит отличную информацию о природе синхронизации (это раздел под названием «Синхронизация»), а также в другом руководстве о том, как настроить журнал и импортировать его в Google Таблицы (или аналогичные) с потрясающими диаграммами. Я буду копировать его слово в слово, так что я оставлю вас, замечательный новый бегун узлов, чтобы проверить это самостоятельно.
Как майнить Эфириум на Ubuntu 16.04/20.04
В последнее время Интернет-сообщество охватило увлечение криптовалютой. Люди выяснили, что для прибыльного майнинга криптовалюты не нужно оборудование стоимостью в несколько тысяч долларов. В магазинах не хватает видеокарт, а майнеров настигла золотая лихорадка. Если у вас есть карта с более чем 2 ГБ видеопамяти, вы тоже можете попробовать майнить. Давайте взглянем на самый распространенный способ майнинга — Ethereum.
Ethereum считается отличной монетой для майнинга с высокой потенциальной прибылью. Для майнинга Ethereum вам понадобится программа под названием ethminer, которая представляет собой инструмент командной строки. Его можно запустить в нескольких дистрибутивах Linux, но в этой статье мы сосредоточимся на Ubuntu 16.0.4/20.04 и Debian 8.
Прежде чем мы начнем — чтобы не тратить время зря, не пытайтесь майнить с картой менее 2 ГБ видеопамяти, так как маловероятно, что она будет обнаружена программным обеспечением и сможет что-то майнить. Кроме того, если вы используете карту Nvidia, вы должны использовать проприетарный драйвер. Для AMD драйвер AMDGPU работает просто отлично.
В этом руководстве я покажу вам, как установить Ethminer на Ubuntu с помощью терминала.
Добавить репозиторий Ethereum
Во-первых, нам нужно добавить репозиторий Ethereum, поэтому выполните следующие команды в своем терминале:
$ sudo apt-get установить общие свойства программного обеспечения
$ sudo add-apt-repository ppa:ethereum/ethereum
$ sudo apt-получить обновление
Если вы используете Debian, имя репозитория необходимо заменить:
$ sudo sed ‘s/jessie/vivid/’ -i /etc/apt/sources.list.d/эфириум-эфириум-*.список
Установка Ethminer
Наконец-то мы можем приступить к установке ethminer. Однако помимо этого нам потребуются дополнительные пакеты: Geth и Ethereum:
.Установить пакеты
Для установки необходимых пакетов выполните следующее:
$ sudo apt-get установить ethereum geth
Чтобы использовать ethminer, необходимый для майнинга монет, мы должны загрузить его с GitHub:
https://гитхаб. com/ethereum-mining/ethminer/релизы
На момент написания этого руководства последней версией был ethminer 0.19.0-alpha.0
.Введите следующее, чтобы загрузить и извлечь двоичный файл:
$ wget https://github.com/ethereum-mining/ethminer/releases/download/v0.19.0-alpha.0/ethminer-0.19.0-alpha.0-cuda-8-linux-x86_64.tar. гз
$ mkdir этмайнер
$ cd этмайнер
$ tar -xzvf ../ethminer-0.19.0-alpha.0-cuda-8-linux-x86_64.tar.gz
Выберите сеть
Для Ethereum их два.Ethereum Classic, известный как ETC, и Ethereum, известный как ETH.
Для майнера главное отличие в цене и сложности майнинга. Чем выше сложность, тем меньше монет вы добудете. Вам нужно выбрать монету, которая принесет вам наибольшую прибыль. На момент написания ETH имеет лучшее соотношение. Мощность в 20 мегахэшей принесет вам 29 долларов прибыли, по сравнению с 15 долларами у ETC при том же энергопотреблении.
Выбрать кошелек
Я предполагаю, что вы будете майнить ETH; таким образом, я предлагаю использовать этот кошелек. Установленный вами пароль является постоянным, не теряйте его, так как вы потеряете все, что храните в кошельке. Настройте его, а затем мы перейдем к следующему пункту.
Индивидуальный майнинг или майнинг в пуле
Как правило, при низком хешрейте вы хотите майнить в пуле из-за большего вознаграждения. Вам также потребуется больше времени, чтобы получать прибыль от соло-майнинга.
Выберите пул из этого списка.
Могут быть и другие пулы, кроме одного из списка — найдите тот, который вам больше всего подходит.
Начать добычу!
Как указано в приложении, по умолчанию ethminer попытается использовать все типы устройств, которые он может обнаружить. При желании вы можете ограничить этот параметр поведения одним из следующих параметров:
-G,--opencl Добыча/тестирование только с использованием OpenCL
-U,--cuda Mine/Benchmark с использованием только CUDA
Затем выполните команду майнинга, обычно указанную на сайте пула.
Для дварфпула это:
$ cd ./бин
$ ./ethminer -G -P http://eth-eu.dwarfpool.com:80/ВАШ_КОШЕЛЕК
Вместо YOUR_WALLET вставьте адрес своего кошелька.
Вывод на карте RX480 должен быть:
[OPENCL] Найдено подходящее устройство OpenCL [Ellesmere] с 8560984064 байт памяти графического процессора
Хотя количество байтов будет зависеть от того, сколько видеопамяти имеет ваша конкретная модель. И вот! Теперь вы майните Ethereum на Linux.
С помощью всего нескольких команд вы получите в свое распоряжение майнер криптовалюты.Преимущество Ethminer в том, что он бесплатный по сравнению с другими решениями, сохраняя при этом ту же скорость и эффективность, что и проприетарное программное обеспечение. Если вы хотите узнать больше о таком прекрасном программном обеспечении для Linux, следите за обновлениями.
Как настроить частную сеть Ethereum для разработки на Linux | by Stefano Gianazzi
В этой статье описан пошаговый рабочий процесс настройки Linux-машины для тестирования и разработки Ethereum. Целью процедуры является настройка и работа n узлов в частной тестовой сети Ethereum и, при необходимости, 1 узла общедоступной сети Ethereum для тестирования, разработки и развертывания смарт-контрактов.Кроме того, будет создана надлежащая среда разработки.
Используемый компьютер имеет 8 ГБ оперативной памяти и 500 ГБ ssd-диск. Установленная версия ОС — Ubuntu 18.04.2 LTS.
Во-первых, необходимо настроить надлежащую рабочую среду для тестирования и программирования путем загрузки и установки следующих пакетов программного обеспечения.
Node.js и npm -> Установка терминала CLI
sudo apt update
sudo apt install nodejs npm
проверьте установленную версию с помощью
sudo apt install node.js npm
37 No.JS Package Manager с
Sudo APT Установить NPM
Проверка с
NPM —version
Web3 Библиотека -> Терминал CLI Установка
NPM Установка Web3
GETH -> Терминал CLI Установка
Sudo Add-APT-Repository -y PPA: Ethereum / Ethereum
Sudo APT-Get Update
Sudo APT-Get Install Ethereum
Truffle -> Терминал CLI Установка
NPM Установка Truffle -G
КОМПИЛЯТОР -> Установка терминала CLI
npm install -g solc или sudo snap install solc
MICROSOFT VISUAL STUDIO CODE -> Установка настольного приложения , скачать с
https://code. visualstudio.com/?wt.mc_id=vscom_freedevoffers
ETHEREUM WALLET -> Установка настольного приложения , Скачать с
https://github.com/ethereum/mist/releases
GANACHE -> Установка рабочего стола Приложение , загрузите с
https://truffleframework.com/ganache
Теперь необходимо настроить правильные локальные папки для узлов Ethereum Private и/или Public Networks. Имена папок и файлов могут быть изменены со временем.
Частная тестовая сеть Ethereum с n узлами
Во избежание проблем с правами создадим рабочие подпапки в папке «Документы».
- Создайте папку «Блокчейн».
- В папке «BlockChain» создайте подпапку для каждого конкретного запускаемого локального узла, например, «DevChain», «DevChain2», «DevChainx».
- В каждой подпапке создайте 3 отдельные подпапки: «dag», «data», «logs» и два файла: genesis.json, password.sec (вы можете просто использовать текстовый редактор).
Содержимое файла «genesis.json» может быть следующим:
{
«config»: {
«chainId»: 1967,
«homesteadBlock»: 0,
«eip155Block»: 0,
«eip158Block»: 0
},
«difficulty»: «0x200»,
«gasLimit»: «0x4500000»,
«alloc»: {}
}
Пароль.sec будет содержать только записанный в него пароль (только пароль!).
Общедоступная сеть Ethereum: один узел
- Создайте папку с именем, например, «Общедоступная».
- В папке «Общие» создайте 3 подпапки: «dag», «data», «logs».
Теперь можно запускать частную и общественную сети, но их не обязательно запускать одновременно, это зависит от объема работ. Начнем с частной сети.
Частная сеть Ethereum: n узлов
Узел 1
Откройте сеанс терминала для использования интерфейса командной строки.
Перейдите в папку DevChain и вставьте следующие команды:
Генерация узла
geth —verbosity 5 2> . /logs/init.log —ethash.dagdir=./dag/ —datadir=./ data/ init ./genesis.json
Для справки: —verbosity value Детализация логирования: 0 = без звука, 1 = ошибка, 2 = предупреждение, 3 = информация, 4 = отладка, 5 = подробности (по умолчанию: 3)
Генерация адреса (учетной записи) в папке хранилища ключей
geth —ethash.dagdir=./dag/ —datadir=./data/ —password ./password.sec account new > ./logs/account.log
Создание файла config.toml
geth —ethash.dagdir=./dag/ —datadir=./data/ —networkid 1967 — -rpc —rpcport 8545 —port 30303 —ipcpath=./data/geth.ipc —rpccorsdomain «*» —nat any —rpcapi admin,eth,web3,personal,net dumpconfig config.toml
config.toml содержит конфигурацию узла Ethereum, включая такие параметры, как прослушиваемые порты и т. д.
Важно .Для правильной работы кошелька Ethereum необходимо указать параметр ipcpath первого узла, как, например, показано ниже. Также убедитесь, что сетевой порт совпадает с указанным в файле genesis. json.
geth —ethash.dagdir=./dag/ —datadir=./data/ —networkid 1967 —rpc —rpcport 8545 —port 30303 —ipcpath=./data/geth.ipc —rpccorsdomain «*» —nat any —rpcapi admin,eth,web3,personal,net dumpconfig config.toml
Запуск узла с помощью конфиг.сгенерированный файл toml
geth —config config.toml console 2> logs\yyyymmdd_node1.log
Также можно запустить узел без передачи файла toml, например для запуска узла общедоступной сети Ethereum. Пример команды:
geth —networkid 100 —mine —minerthreads 1 —datadir=./data/ —rpc —rpcaddr localhost —rpcport 8545 —port 30303 —rpccorsdomain «*» —nat any —rpcapi admin,eth,web3,personal,net —unlock 0 —password ./password.sec —verbosity 5 2>> ./logs/01.log —ethash.dagdir=./dag/
Ethereum реализует среду выполнения javascript (JSRE), которую можно использовать как в интерактивном (консоль), так и в неинтерактивном (скрипт) режиме. Консоль Javascript Ethereum предоставляет полный API веб-приложения JavaScript Dapp и API администратора.
На этом этапе консоль Javascript GETH должна быть открыта, и должен появиться символ > для вставки определенных команд.
Ссылки:
https://github.com/ethereum/go-ethereum/wiki/JavaScript-Console
https://ethereum.stackexchange.com/questions/28703/full-list-of-geth-terminal-commands
Настройка майнера
Ссылка: https://github.com/ethereum/go-ethereum/wiki/Mining
Создать Новый адрес
> Personal.newaccount («Пароль»)
Выберите сильный пароль, ваш выход должен быть что-то вроде
> Personal.Newaccount («que_strong_password»)
«0x4A9A9E3665FC2829BBBAC00E5895ED5F80A25E8A»
Скопируйте адрес и установите его в качестве адреса по умолчанию, чтобы майнер пересылал эфиры, доставленные в результате майнинга, с помощью команды miner.SetEderbase как в примере ниже
> Miner.SetEtherBASE («0x4a9a9e3665fc2829bbbac00e589587bbbbac00e8a»)
Ваш выход должен быть
Ваш выход должен быть
86 True
>
Запустите шахтер с Miner. Start () Команда
> Шахтер. start(1)
Параметры больше 1 требуют МНОГО аппаратных ресурсов, поэтому по возможности избегайте этого. Ваш вывод
null
Ведение журнала
Всеми запущенными процессами можно управлять с помощью команды
> tail -f logsyyyymmdd_node1.журнал
напр. tail -f logs201
_node1.logОдин сеанс терминала должен быть открыт для каждого работающего узла, чтобы проверить, что происходит.
Запуск кошелька Mist Ethereum
Mist — официальный кошелек Ethereum, разработанный и распространяемый менеджерами экосистемы Ethereum. Имеет смысл использовать официальный кошелек, если вы разработчик, занимающийся созданием, развертыванием и использованием смарт-контрактов. Имейте в виду, что Mist — это кошелек с полным узлом, а это значит, что вам придется загрузить весь блокчейн Ethereum на свой компьютер (несколько гигабайт данных, и он растет каждый месяц, только для узла публичного блокчейна Ethereum).
Запустите команду в папке DevChain, так как приложение Wallet будет искать сокет ipc в своей конкретной подпапке данных.
ethereumwallet —rpc data/geth.ipc
В интерфейсе приложения вы должны увидеть подключение к частной сети, созданные учетные записи и количество эфиров по адресу, указанному с помощью команды miner.setEtherbase.
Запуск кошелька Mist Ethereum через интерфейс командной строкиНа данном этапе 1 узел запущен и работает в вашей частной сети Ethereum.
Добавление еще одного узла
Один и тот же файл genesis.json и идентификатор сети должны использоваться для всех узлов частной сети. Каждый узел должен иметь (как минимум) другой номер порта, другой номер порта rpc и другой каталог данных (если он находится на одном компьютере). В качестве примера, вот параметры, которые нужно изменить в конфиге. toml других узлов:
[Node]
DataDir = «data»
IPCPath = «» -> отменить текст среди «»
HTTPHost = «127. 0.0.1″
HTTPPort = 8540 -> измените это, должно отличаться от узла 1
HTTPCors = [«*»]
HTTPVirtualHosts = [«localhost»]
HTTPModules = [«admin», » eth», «web3», «personal», «net»]
WSPort = 8541 -> изменить это, должно отличаться от узла 1
WSModules = [«net», «web3», «eth «, «shh»]
ListenAddr = ”:3030” -> изменить это, должно отличаться от узла 1
Если вы работаете на другой рабочей станции в локальной сети, вместо этого должен использоваться частный IP-адрес из «127.0.0.1».
Если у вас возникнут проблемы с узлами (например, проблемы с синхронизацией), вместо простого копирования файла .toml первого узла вы можете удалить файл .toml второго узла и сгенерировать его напрямую. с помощью специальной команды, изменяющей параметры (см. ниже, не забудьте также удалить данные в папках dag, logs и data). -networkid 1967 —rpc —rpcport 8545 —port 30303 —ipcpath=. /data/geth.ipc —rpccorsdomain «*» —nat любой —rpcapi admin,eth,web3,personal,net dumpconfig config.toml
После модификации файла .toml запустите второй узел в другом сеансе CLI терминала с помощью команды
geth —config config.toml console 2> logs\yyyymmdd_node2.log
запустите ведение журнала как well
tail -f logsyyyymmdd_node2.log
Операции должны повторяться для каждого нового узла, соответственно изменяя параметры.
Добавление пиров
Узлы должны видеть друг друга и синхронизироваться.Итак:
В консоли узла 1 проверьте наличие пиров с помощью команды
> admin.peers
, которая выдаст что-то вроде [] , что означает, что узлы не видят друг друга, поэтому они не синхронизированы. .
Введите команду
> admin.nodeInfo.enode
Вы получите результат, как этот
> admin.nodeInfo.enode
«базовая станция: // 8ba2aa166e8d7817e1da8f0678f9cdbb55b9c4aa6550163d79efb8e67569605fcaf4be507faac9831e47e11662d8f0b7b202f8ade65d4b4cb5b07a439cc87a4a @ 127. 0.0.1: 30303″
>
Скопируйте значение, включая ««
Перейти к консоли узла 2 и вставьте команду> admin.addPeer как это
> admin.addPeer ( «базовая станция:. // 8ba2aa166e8d7817e1da8f0678f9cdbb55b9c4aa6550163d79efb8e67569605fcaf4be507faac9831e47e11662d8f0b7b202f8ade65d4b4cb5b07a439cc87a4a @ 127.0.0.1:30303″)
>
Ваш вывод должен быть
>true
Теперь проверьте еще раз
> admin.peers
3 90 node.Это все.
Повторите ту же процедуру для каждого узла частной сети.
В кошельке Mist Ethereum должен быть указан как минимум n-1 узлов (2 для сети из 3 узлов). В общих чертах, майнер будет запущен только на узле 1.
Публичная сеть Ethereum: 1 узел
Если вы хотите протестировать аппаратное обеспечение вашей машины (!) в одиночестве). Когда все будет готово, в папке «Public» запустите команду GETH, как показано ниже:
geth —syncmode=fast —datadir=./Data/ —port 30299 —ipcpath=. /Data/geth.ipc
и дождитесь синхронизации узла с общедоступной цепочкой блоков Ethereum.
Во избежание конфликтов с узлами частной Сети видно, что для узла Публичной сети указан другой порт, как и Data Directory.
Тонкая настройка среды разработки
Для целей этого рабочего процесса будут учитываться следующие дополнительные настройки для поддержки деятельности по разработке:
Microsoft Visual Studio Code + Truffle + частная сеть Ethereum
Создать подпапку в папке «Документы» под названием «Разработка» (или что-то еще).В нем мы установим разные подпапки для каждого отдельного проекта. Давайте начнем с папки «Project1».
Откройте код Microsoft Visual Studio
Файл -> Открыть папку -> откройте папку Project1
Терминал -> Новый терминал
Введите команду
truffle init
Теперь будут созданы локальные папки и файлы проекта. , и ваша среда разработки теперь будет выглядеть так:
Установка кода Microsoft Visual Studio Обратите внимание, что для развертывания файлов в вашей локальной частной сети вам потребуется изменить truffle-config. js в разделе ниже с данными файла config.toml вашего узла.
сетей: {
// Полезно для тестирования. Имя «разработки» специальное — truffle использует его по умолчанию
// если оно определено здесь и в командной строке не указана другая сеть.
// Вы должны запустить клиент (например, ganache-cli, geth или parity) в отдельной вкладке терминала
// если вы используете эту сеть, и вы также должны установить `host`, `port` и `network_id`
/ / параметры ниже на некоторое значение.
//
// разработка: {
// хост: «127.0.0.1», // локальный хост (по умолчанию: нет)
// порт: 8545, // стандартный порт Ethereum (по умолчанию: нет)
// network_id: «*», // Любая сеть (по умолчанию: нет)
// },
// Другая сеть с более расширенными параметрами…
// дополнительно: {
// порт: 8777, // Пользовательский порт
// network_id: 1342, // Пользовательская сеть
// gas: 8500000, // Gas отправляется с каждой транзакцией (по умолчанию: ~6700000)
// gasPrice: 20000000000, // 20 gwei (in wei) (по умолчанию: 100 gwei)
// from: , // Учетная запись для отправки txs (по умолчанию: account[0])
// websockets: true // Включить интерфейс EventEmitter для web3 (по умолчанию: false)
// },
// Полезно для развертывания в общедоступной сети.
// NB: важно обернуть провайдера как функцию.
// ropsten: {
// провайдер: () => новый HDWalletProvider(мнемоника, `https://ropsten.infura.io/v3/YOUR-PROJECT-ID`),
// network_id: 3, // Идентификатор Ropsten
// газ: 5500000, // у Ropsten более низкий лимит блоков, чем у основной сети
// подтверждений: 2, // количество конфов для ожидания между развертываниями. (по умолчанию: 0)
// timeoutBlocks: 200, // количество блоков до истечения времени ожидания развертывания (минимум/по умолчанию: 50)
// skipDryRun: true // Пропустить пробный запуск перед миграцией? (по умолчанию: false для общедоступных сетей)
// }
Установите обозреватель блоков
Чтобы немного углубить выполняемые операции, давайте установим облегченный обозреватель блоков под названием Ether Block Explorer.Откройте новый сеанс терминала и введите команду
git clone https://github.com/etherparty/explorer
Это создаст новый каталог с именем explorer. Перейдите в новый каталог и запустите EthExplorer, набрав
npm start
После завершения установки посетите http://localhost:8000 , чтобы использовать обозреватель блоков.
Теперь вы можете начать кодирование.
Группа ИТ-услуг | Кафедра физики
HTTPS-доступ
Хотя мы хотели бы предоставить доступ по протоколу HTTPS для всех имен хостов, указывающих этому зеркалу, Debian предпочитает иметь первичные зеркала, а не использовать HTTPS для своих фтп.*.debian.org имя хоста. Соответственно, нам придется удалить это имя хоста из SSL-сертификата HTTPS в ближайшем будущем.
Если вы предпочитаете получать доступ к этому зеркалу Debian через HTTPS, замените https://ftp.ch.debian.org/ автор https://debian.ethz.ch/ в файле sources.list.
Пример /etc/apt/sources.list с HTTPS:
deb https://debian.ethz.ch/debian стабильный основной вклад несвободный deb-src https://debian.ethz.ch/debian стабильный основной вклад несвободный
Образец /etc/apt/sources.список без HTTPS:
deb http://debian.ethz.ch/debian стабильный основной вклад несвободный deb-src http://debian.ethz.ch/debian стабильный основной вклад несвободный
Неофициальное зеркало безопасности
Наше зеркало безопасности нет официального зеркала безопасности и думал только как локальный кеш. См. Безопасность Debian FAQ для рассуждений.
Его обновления не запускаются нажатием, поэтому зеркало может быть устаревший. Если вы хотите использовать его, мы предлагаем использовать его следующим образом (вы также можете использовать HTTP вместо HTTPS, если хотите):
Debian 11 «Яблочко» или новее
деб https://безопасность.debian.ethz.ch/ основной вклад в стабильную безопасность (несвободный) deb http://security.debian.org/ основной вклад стабильной безопасности не является бесплатным
Debian 10 «Buster» или старше
deb https://security.debian.ethz.ch/ buster/updates основной вклад несвободный deb http://security.debian.org/ buster/updates основной вклад несвободный
Таким образом, если это зеркало безопасности уже имеет обновленный пакет отзеркалено, взято оттуда, так как это первый хит для новейших версия.Если нет, то самый новый пакет уже доступен и взяты с официальных серверов.
Используйте на свой страх и риск!
Доступ по альтернативным протоколам
Альтернативный доступ по FTP запрещен. возможный.
Альтернативный доступ по HTTPS запрещен. возможно для всех имен хостов *.ethz.ch.
Основные архивы Debian доступны по rsync:
- rsync debian.ethz.ch::debian
- rsync debian.ethz.ch::debian-cd
- rsync дебиан.ethz.ch::debian-архив
Кроме того, через rsync также доступны следующие архивы:
- rsync debian.ethz.ch::raspbian
- rsync debian.ethz.ch::ubuntu
Прекращенные услуги
Зеркалирование портов PCLinuxOS и Debian было
снято с производства.
О нас и контакты
Этот сервер является одним из официальных зеркал Debian (статус зеркала Debian сети) и также известный как ftp.ch.debian.орг.
В случае возникновения проблем с этим конкретным зеркалом, пожалуйста, свяжитесь с IT Services Group. (ISG) кафедры физики ETH Zurich, желательно по электронной почте на зеркало@phys.ethz.ch . Если вы предпочитаете IRC, вы можете использовать наш веб-чат ISG или свяжитесь с XTaran, tarzeau или rda через IRCNet, Freenode или OFTC или присоединяйтесь к #isgphys на irc.phys.ethz.ch (Прочти меня).
Как настроить частную цепочку блоков Ethereum за 20 минут
Каждый год ArcTouch собирает своих сотрудников на трехдневный хакатон, на котором группы создают прототип идеи с использованием новых и появляющихся технологий.В этом году у нас было много проектов хакатонов по блокчейну, и мы думаем, что это говорит как о растущем интересе к блокчейну со стороны наших сотрудников, так и о том, что компании могут извлечь из этого выгоду.
Моя группа решила внедрить систему проверки личности, построенную на блокчейне. Идея заключалась в том, чтобы хранить чье-то доказательство возраста, на которое бармен или продавец мог ссылаться вместо физического удостоверения личности, такого как водительские права. Поскольку мы планировали использовать смарт-контракты, мы выбрали блокчейн Ethereum.Однако для первого этапа разработки использование общедоступной цепочки блоков или даже тестовой сети не всегда идеально из-за длительного времени подтверждения транзакций. Вместо этого мы рассмотрели несколько вариантов быстрого запуска частного блокчейна.
На сегодняшний день самым простым способом является использование облачной службы, такой как Azure, для размещения частной сети блокчейнов. Azure делает настройку особенно простой, предоставляя шаблон Ethereum Blockchain Consortium, который имеет настраиваемое количество узлов как для майнинга, так и для транзакций.За три шага и около 10 минут вы можете настроить полностью функционирующий частный блокчейн в облаке (вот отличный пост на Medium, в котором подробно описана эта настройка).
Однако этот конкретный шаблон Azure предоставляет блокчейн с доказательством работы (PoW), который, в зависимости от ваших требований, может быть не лучшим вариантом для частного блокчейна. Например, мы выбрали блокчейн с доказательством полномочий (PoA) с использованием механизма консенсуса Ethereum Clique, который был выпущен в прошлом году. Эта настройка консенсуса хорошо работает в частной обстановке, поскольку узлам не нужно конкурировать друг с другом за привилегию чеканки блоков, что устраняет накладные расходы на обработку и потребление энергии, связанные с добычей блоков PoW и алгоритмом ethhash.
Чтобы создать нашу сеть PoA в Azure, мы настроили экземпляр сервера, используя шаблон Ubuntu Server 16.04 LTS, который будет выступать в качестве нашего авторитетного узла. Поскольку властям не требуются большие вычислительные ресурсы, мы смогли использовать виртуальную машину меньшего размера ( B1S ) с параметрами по умолчанию.
После того, как виртуальная машина была подготовлена, мы настроили наш узел полномочий, выполнив следующие шаги:
Шаг 1: Установите Ethereum и geth
sudo apt-get install software-properties-common sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt-получить обновление sudo apt-get install ethereum
Шаг 2.

Вы создадите две учетные записи, первая из которых будет уполномоченной, а вторая — учетной записью с предварительным финансированием, которую можно использовать для отправлять транзакции в сеть:
geth --datadir .эфириум/аккаунт новый > Адрес: {6203bb870bfb79438b827de3d6b0070d4d2a5f7b} geth --datadir .ethereum/ новый аккаунт > Адрес: {1808adc011f6e970943d3f28f4d285053d9140ac}
Обязательно отслеживайте пароль, используемый для создания каждой учетной записи!
Шаг 3: Создайте исходный блок
Используя puppeth, инструмент командной строки, выпущенный вместе с geth 1.6, создайте и экспортируйте определение генезисного блока:
puppeth ... Укажите имя сети для администрирования (без пробелов) > клика ... Чем бы Вы хотели заняться? (по умолчанию = статистика) 1. Показать статистику сети 2. Настройте новый генезис 3. Отследить новый удаленный сервер 4. Разверните сетевые компоненты > 2 Какой механизм консенсуса использовать? (по умолчанию = клика) 1.Ethash — доказательство работы 2. Клика — доказательство полномочий > 2 Сколько секунд должны занимать блоки? (по умолчанию = 15) > 15 Какие учетные записи разрешено закрывать? (обязательно хотя бы один) > 0x6203bb870bfb79438b827de3d6b0070d4d2a5f7b > 0х Какие счета должны быть предварительно профинансированы? (желательно хотя бы один) > 0x1808adc011f6e970943d3f28f4d285053d9140ac > 0х Укажите идентификатор вашей цепочки/сети, если вы хотите явный (по умолчанию = случайный) > 42 INFO [02-15|18:24:03] Настроен новый блок генезиса
Что бы вы хотели сделать? (по умолчанию = статистика) 1.Показать статистику сети 2. Управление существующим генезисом 3. Отследить новый удаленный сервер 4. Разверните сетевые компоненты > 2 1. Изменить существующие правила форка 2. Экспорт исходной конфигурации 3. Удалить конфигурацию генезиса > 2 В какой файл сохранить генезис? (по умолчанию = клик.json) > генезис.json INFO [02-15|18:24:22] Экспортировал существующий блок генезиса
Используйте первую сгенерированную учетную запись, полномочия, в качестве учетной записи «герметизатора», а вторую учетную запись в качестве учетной записи с предварительным финансированием. Для идентификатора сети/цепочки я бы рекомендовал выбрать значение ниже 1000.Значение 1337 используется цепочками разработки, и мы обнаружили, что более высокие значения (например, сгенерированные при выборе «случайного») могут позже привести к проблемам.
Шаг 4: Запустите свой частный экземпляр Ethereum
Инициализируйте и запустите свой авторитетный экземпляр geth:
geth --datadir .ethereum/ init genesis.json geth --nodiscover --networkid 42 --datadir .ethereum/ --unlock 0x6203bb870bfb79438b827de3d6b0070d4d2a5f7b --mine --rpc --rpcapi eth,net,web3 --rpcaddr
Передать адрес органа в параметр разблокировки, а для rpcaddr используйте частный IP-адрес вашей виртуальной машины, отображаемый в параметрах консоли Azure Networking .
Обязательно создайте правило безопасности Inbound для порта 8545 в вашей группе сетевой безопасности, чтобы разрешить вам подключаться к вашему авторитетному узлу с помощью стандартной библиотеки web3. js или, в нашем случае, Nethereum для использования с Xamarin.
Результат: Функциональный блокчейн Ethereum
Описанный выше процесс занимает около 20 минут и приводит к созданию полностью функционального частного блокчейна PoA Ethereum в облаке. Эта среда идеально подходит для разработки децентрализованных приложений (DApp) для проверки концепции и обеспечивает быстрые и бесплатные транзакции.
Вы можете легко включить в настройку другие виртуальные машины, которые будут действовать как выделенные узлы транзакций или дополнительные узлы полномочий для более репрезентативной сети. Но разработка прототипа — это только один шаг к разработке полноценного коммерческого блокчейн-решения. Безопасность DApp — общеизвестно сложная тема, и развертывание в общедоступной тестовой сети для тестирования реальных сценариев и проверки правильности работы имеет решающее значение.
Интеграция вашей серверной части на основе блокчейна с интерфейсом мобильного приложения также требует определенной стратегии. Блокчейн представляет собой уникальную проблему взаимодействия с пользователем, поскольку для подтверждения транзакций может потребоваться много минут в зависимости от цены газа, которую вы готовы заплатить.
Мы в ArcTouch рады быть компанией-разработчиком DApp и верим, что блокчейн станет важным компонентом приложений завтрашнего дня как для предприятий, так и для потребителей.
Хотите знать, как блокчейн может помочь вашему бизнесу?
Разработка BlockFirst от ArcTouch помогает компаниям трансформировать свои бизнес-процессы с помощью децентрализованных приложений и технологии реестра.Мы предлагаем бесплатные консультации — так что давайте назначим время для разговора:
ПОГОВОРИМ О БЛОКЧЕЙНЕ
Могу ли я создать Linux/MacOS-подобную настройку Ethereum для разработчиков в Windows?: Руководство по настройке подсистемы Windows для Linux
В ConsenSys Academy мы попросили всех участников программы для разработчиков с самого начала загрузить Virtual Box и Ubuntu. Наша цель состоит в том, чтобы у каждого учащегося был согласованный пользовательский опыт при настройке локальной среды разработки. Независимо от их родной операционной системы (ОС), у всех будет Ubuntu и они смогут запускать одно и то же программное обеспечение.Это хорошая идея в теории. На практике мы работали со студентами, чтобы решить проблемы, связанные с доступной памятью на их машинах, чтобы это работало. Почти всегда пользователи Mac будут продолжать работу, не загружая Ubuntu, поскольку MacOS является системой на основе Unix. Пользователи Windows часто разочаровываются, так как они не могли использовать инструменты разработки, следуя инструкциям, которые мы рекомендуем для их родной ОС, и если они хотели запустить все в Windows, им приходилось следовать набору инструкций, параллельных инструкциям для Linux. и пользователи MacOS.
Мы следили за развитием подсистемы Windows для Linux (WSL). Запуск WSL 2 совпал с вопросами от нашей текущей когорты студентов Bootcamp о том, могут ли они использовать WSL 2 вместо загрузки Virtual Box. Я чувствовал, что настало время уделить больше внимания тому, как использовать WSL 2, чтобы предоставить пользователям Windows опыт разработки, подобный Linux, при использовании инструментов Ethereum, которые мы рекомендуем. В этой статье мы поделимся с вами некоторыми особенностями, с которыми мы столкнулись при использовании WSL 2 для настройки вашей среды разработки Ethereum (например, что вам нужно сделать, чтобы использовать команды truffle ).
В нашей экосистеме есть много полезных статей и руководств, но люди создают их, предполагая, что у пользователя установлен Linux или MacOS. Я хочу, чтобы Ethereum был доступен для всех, и хотел поделиться тем, что, по моему мнению, в настоящее время является самым простым способом для разработчиков, использующих Windows, настроить свою среду разработки, чтобы они могли следовать большинству статей, опубликованных по разработке смарт-контрактов.
Вы можете перейти к руководству ниже или сразу перейти к краткой истории о том, почему пользователям Linux и MacOS традиционно проще было получить инструменты для разработчиков в Ethereum.
Использование WSL 2 для настройки среды разработки Ethereum
Шаг 1. Загрузка WSL 2
TLDR ; Windows отлично справляется с инструкциями по установке WSL 2 на ваш компьютер. «Руководство по установке подсистемы Windows для Linux для Windows 10» — это исчерпывающая статья, поскольку она соответствует названию и содержит советы по устранению неполадок. Мы также обнаружили, что просмотр с 8:24 WSL2: кодируйте быстрее в подсистеме Windows для Linux! | Видео Tabs vs Spaces дает некоторый дополнительный контекст о том, как включить WSL через графический интерфейс пользователя (GUI) вместо командной строки (или PowerShell).Возможно, вам придется перезагрузить компьютер несколько раз, и в некоторых случаях, в зависимости от аппаратного обеспечения вашего компьютера, это может занять некоторое время. Я был бы готов выделить полдня в худшем случае, просто чтобы оправдать ваши ожидания по всем установкам, которые вы собираетесь сделать.
На шаге 6 вышеупомянутой статьи я решил установить Ubuntu 20. 04 LTS, так как этот дистрибутив мне наиболее удобен по сравнению с другими перечисленными. Я попытался установить Ubuntu по предоставленной ссылке в магазин Windows, доступ к которой осуществляется через мой веб-браузер, но мой компьютер с Windows предложил мне установить его с помощью встроенного приложения Microsoft Store.
Я также установил Windows Terminal, что необязательно. Я сделал это после того, как сделал кучу ошибок, которые вы увидите на шаге 3. Вместо того, чтобы продолжать «идти своим путем», я решил следовать тому, что мне говорила Microsoft. Преимущество Windows Terminal в том, что в окне терминала вы можете открыть несколько вкладок терминала разных операционных систем.
Шаг 2. Запуск WSL 2 вместе с VSCode
Мы предлагаем вам использовать наиболее удобную для вас IDE.Лично я использую VSCode, поэтому я хотел выяснить, как я могу использовать VSCode вместе с WSL 2. У меня уже установлен VSCode, поэтому, если он у вас не установлен, установите его. Затем, чтобы заставить его работать вместе с Ubuntu, я нашел ответ на 5:31 видео на WSL, созданного Microsoft.
С помощью команды:
код.
автоматически загружается, устанавливается и запускается VSCode, но я обнаружил, что мои расширения, которые я использую для написания смарт-контрактов, не устанавливаются автоматически.
Просто нажмите на зеленый текст, установленный в WSL:Ubuntu. VSCode также предложил мне установить некоторые дополнительные библиотеки через терминал в VSCode и попросил ввести пароль для моего дистрибутива Linux (это Ubuntu 20.04 LTS)
.Существует более длинный учебник под названием «Начало работы с Visual Studio Code для подсистемы Windows для Linux», в котором содержится более подробное руководство, если вы еще не установили VSCode. С этого момента я выполнял все следующие шаги внутри терминала VSCode, который теперь был настроен как оболочка bash.
Шаг 3. Установите nvm, Node и npm
Перед установкой инструментов разработчика, таких как Truffle, нам необходимо установить nvm, Node и npm. См. непосредственно статью Настройка разработки NodeJS с помощью WSL 2.
Первая особенность, с которой я столкнулся, заключалась в том, что в документации не была указана самая последняя версия nvm, и поэтому я рекомендую перейти в репозиторий nvm на GitHub, чтобы узнать текущий выпуск. После установки nvm, когда я выполнил команду command -v nvm, чтобы подтвердить, что он был установлен в моем терминале, ничего не произошло (должен быть возвращен nvm).Он предложил мне закрыть терминал и снова открыть его, а затем снова запустить команду. Когда я сделал это, я получил nvm.
Затем я ввел nvm install node –lts. Я выбрал выпуск LTS (долгосрочная стабильная версия). После проверки того, что у меня установлены и узел, и npm (node –version , npm –version). Я перешел к следующему шагу.
Не делать следующее Это яркий пример не чтения документации (всегда читайте документацию). Шаги, которые я подробно описал выше, я сделал после того, как сначала пошел по пути не чтения документов полностью. Хронологически я сначала открыл терминал с VSCode и набрал
узел -v
, чтобы убедиться, что он у меня установлен. Поскольку у меня не был установлен узел, вернулось следующее:
Я набрал предложенное
sudo apt установить nodejs
, и мне было предложено ввести мой пароль для моего дистрибутива Linux (Ubuntu 20.04 LTS). Затем я набрал
узел -v
Вернулась версия 10.19.0. Я просмотрел веб-сайт Node.js, и рекомендуемая стабильная версия — 14.15.0 LTS. Не то, что я хотел, чтобы произошло. Кроме того, когда я набрал
нпм -в
, чтобы узнать, установлен ли у меня NPM, я получил плохой интерпретатор: Нет такого файла или каталога. Что пошло не так? Если бы я только начал читать статью, я бы увидел следующее
«версия Node, которую можно установить с помощью команды Ubuntu apt-get, в настоящее время устарела»
Если вы пошли по этому пути, вам нужно удалить Nodejs — вот несколько полезных инструкций, но вы будете использовать команду
sudo apt-get очистить nodejs
в терминале, чтобы сделать это.
Если вы перейдете непосредственно на веб-сайт Node.js, загрузите и установите, вы установите дистрибутив Windows, который вы не сможете использовать в Ubuntu. Так что сначала прочтите приведенную выше документацию, а не пытайтесь просто «прыгнуть в:.
Учитесь на моих ошибках и экономьте время. Прочтите документацию.
Шаг 4. Установите Truffle Suite
Теперь я мог следовать шагам, описанным на портале разработчиков ConsenSys.
Обязательно раскомментируйте сеть разработки (как показано ниже) в файле truffle-config.js-файл
Если вы этого не сделаете, вы получите следующую ошибку:
Подождите… Я все это настроил, и произошла ошибка, я ушел, и теперь, когда оно у меня работает, я забыл свой пароль к своему дистрибутиву Linux !!!
Ах, да. Я тоже сделал это. Я нашел статью «Создание учетной записи пользователя и пароля для вашего нового дистрибутива Linux» очень полезной.
Вещи, которые я установил в Windows, не отображаются при запуске Ubuntu! Что дает!!
Помните, Ubuntu — это другая операционная система, чем Windows. Ожидается, что программы, установленные в Windows, не будут мгновенно запускать дистрибутив Ubuntu и наоборот, если только они не являются специальными программами, настроенными для этого — например, Windows Terminal. Предположим, что все, что вы устанавливаете на одном, не будет работать на другом, чтобы быть в безопасности.
Что дальше?
Теперь следуйте шагу 2: создайте смарт-контракт и шагу 3: запустите децентрализованное приложение, используя те же команды, что и в этих руководствах.
Краткая история операционных систем и контекст для разработчиков Ethereum
Почему у пользователей Windows другой опыт работы с инструментами разработчика Ethereum, чем у тех, кто использует Linux или MacOS? Linux и MacOS — это не одна и та же операционная система, и существует бесчисленное множество дистрибутивов Linux.Кажется, что должно быть несколько наборов инструментов для работы с различными операционными системами. Чтобы ответить на этот вопрос, требуется краткий урок истории. Я рекомендую посмотреть видео Операционные системы Crash Course: Crash Course Computer Science #18, чтобы получить краткую справочную информацию.
Наша история начинается с Unix. После выпуска Unix в 1969 году эта операционная система быстро зарекомендовала себя в вычислительном сообществе. В 1970-х годах в вычислительной технике доминировали исследовательские сообщества, крупный бизнес или сообщества любителей/хакеров, и у них не было графических пользовательских интерфейсов, к которым мы привыкли сегодня.В то время Unix был основан на терминале, поэтому все делалось с помощью того, что мы бы назвали командной строкой.
1980-е годы совпали с выпуском Microsoft и Apple популярных операционных систем для пользователей персональных компьютеров. Улучшения, которые принесли эти операционные системы, наряду со снижением стоимости оборудования и памяти, помогли увеличить количество людей за пределами академических кругов или делового мира, которые могут позволить себе компьютер для личного использования. Microsoft выпустила дисковую операционную систему Microsoft (MS-DOS) в 1981 году.Когда в 1985 году была выпущена Microsoft Windows, эта операционная система с графическим пользовательским интерфейсом была построена поверх кодовой базы MS-DOS, что сделало компьютер гораздо более доступным для конечного пользователя.
Apple фактически разрешила загрузку нескольких операционных систем на Apple II, который впервые начал продаваться в конце 1970-х годов. Но Apple еще до Microsoft понимала, насколько важным будет графический интерфейс для внедрения персональных компьютеров. Первая операционная система Apple с графическим интерфейсом, операционная система Macintosh (теперь называемая классической MacOS), возникла на базе компьютера Apple Lisa (LisaOS), выпущенного в 1983 году.Операционная система на Lisa была в значительной степени вдохновлена работой, проделанной в Исследовательском центре Xerox в Пало-Альто (PARC), и многие из команды Xerox PARC работали в Apple. Когда в 1984 году был выпущен гораздо более популярный Apple Macintosh, на нем работала классическая MacOS. Глядя на старые фотографии и видео с Macintosh, я был удивлен тем, насколько интерфейс классической MacOS знаком с MacOS, работающей сегодня на моем компьютере Apple.
Unix была доминирующей операционной системой в компьютерном мире, и в 1980-х годах она продолжала оставаться популярной за пределами области персональных компьютеров.В 1980-е это означало, что существовало три разные операционные системы, построенные на трех разных кодовых базах. Использование программы в этих операционных системах не могло произойти изначально. Программы пришлось модифицировать для работы с ОС. Операционные системы Apple и Microsoft с графическим интерфейсом сделали вычисления доступными для широких масс. Для разработчиков создание приложения, которое могло бы работать на компьютере, требовало знания операционной системы (и до сих пор). Но Apple сделает выбор, который облегчит разработчикам, знакомым с командами Unix, использование MacOS или операционной системы на основе Unix, а не входной барьер.
Apple начала переходить к операционной системе на основе Unix, начиная с 1988 года, когда была выпущена версия A/UX на основе Unix. Параллельно с этим компания NeXT, соучредителем которой стал Стив Джобс в 1985 году после его ухода из Apple, создавала ОС на основе Unix под названием NeXTSTEP. Apple приобрела NeXT в 1996 году и приобрела интеллектуальную собственность, которая впоследствии стала MacOS X. Напомним, что соучредитель Apple покинул компанию, стал соучредителем другой компьютерной компании для создания компьютеров и операционных систем, которая затем была куплена компанией, которую он первым соучредителем, в котором он впоследствии стал генеральным директором, а затем взял проект из своей новой компании, и этот программный проект был создан, чтобы стать основой MacOS, которую я сейчас использую на своем компьютере Apple.В Стив Джобс Уолтера Исааксона есть цитата Ларри Эллисона, соучредителя Oracle, о разговоре, который у него был со Стивом Джобсом, когда они были в отпуске на Гавайях.
.«Знаешь, Ларри, я думаю, что нашел способ вернуться в Apple и получить контроль над ней без необходимости ее покупать», — сказал Джобс, пока они шли по берегу. Эллисон вспоминал: «Он объяснил свою стратегию, которая заключалась в том, чтобы заставить Apple купить NeXT, а затем войти в правление и быть в одном шаге от должности генерального директора.
Исааксон, Уолтер. Стив Джобс . Нью-Йорк ; Торонто: Саймон и Шустер, 2011. стр. 300
Таким образом, MacOS стала операционной системой на основе Unix и позволила запускать команды Unix на терминале в MacOS.
Windows не стала Unix-подобной. После большого успеха Windows 95/98 Windows перешла к построению своей ОС на основе NT (аббревиатура NT больше ничего не означает, но существует множество теорий и историй вокруг выбора NT — забавная кроличья нора, которую нужно пройти). вниз, если вас интересует история Microsoft).Начиная с Windows 2000, Microsoft отказалась от зависимости от DOS (что привело к этому невероятному видео Билла Гейтса, отключающего DOS, когда была выпущена Windows XP). Windows по-прежнему основывалась на NT для всех последующих выпусков, включая Windows 10.
Между Apple и Microsoft появится третий конкурент. Linux был разработан и выпущен Линусом Торвальдсом в 1991 году. Это Unix-подобная операционная система, и благодаря тому, что она бесплатна и легко настраивается, она была быстро принята сообществами разработчиков, которые не хотели быть привязанными к Apple или Microsoft. .Linux продолжал набирать популярность и нашел применение во многих различных вычислительных средах. Например, Android, мобильная операционная система, построена на базе Linux и является самой популярной операционной системой для смартфонов. Linux также поддерживает команды оболочки Unix. Для получения дополнительной информации о Linux см. Running Linux, Third Edition . Это исчерпывающий ресурс.
То, что оно основано на Unix, означает, что команды, написанные в терминале MacOS и терминале Linux, синтаксически одинаковы, поскольку они оба используют оболочку bash (или ее производную, например zsh). Пользователям Windows часто приходится переводить команду, которую они видят в руководстве, написанном для оболочки bash, чтобы она работала в Windows PowerShell или Cmd. Пользователи Linux или MacOS могут просто запустить команду. Разработчики проводят массу времени в терминале. Это означает, что для установки и использования определенных инструментов разработчика для Ethereum (и многих других языков), таких как nvm, Node, npm и Truffle, требуется другой набор инструкций для пользователей Windows.
Результатом является большая совместимость между Linux и MacOS, и поэтому многие команды, используемые в терминале Ubuntu, дистрибутиве Linux, также могут использоваться (в основном) взаимозаменяемо в терминале MacOS.В прошлом Windows делала набеги на ОС на базе Unix, но выпуск WSL в 2016 году для Windows 10 стал первым случаем, когда пользователи Windows могли использовать ядро Linux, одновременно используя Windows без виртуальной машины. WSL 2 создал облегченную виртуальную машину, которая работает внутри Windows, а это означает, что разработчику больше не нужно решать проблемы с памятью и хранилищем, связанные с загрузкой виртуальной машины или использованием VMWare для установки Ubuntu.
Почему это влияет на разработчиков Ethereum? Генезисный блок Эфириума произошел 30 июля 2015 года, и, по словам соучредителя Эфириума и основателя ConsenSys Джо Любина, большая часть разработки велась на Ubuntu и MacOS X.Поэтому неудивительно, что большая часть исходного инструментария хорошо работала с Unix-подобными операционными системами. Несмотря на то, что инструменты были разработаны специально для Windows, зачастую разработчикам удобнее работать, когда они могут использовать Unix-подобный терминал для установки программного обеспечения и выполнения команд.
Microsoft проделала работу по выпуску WSL 2, и многие в сообществе использовали его с конца 2018 года для установки дистрибутива Linux. Если вы используете Windows, вам больше не нужно следовать слегка измененному набору инструкций при создании вашего dApp.Пользователи Windows теперь могут следовать руководствам по Ethereum для Linux или Mac.
Очень интересное чтение, рекомендованное мне Эйвери Эрвином, — это книга Нила Стефенсона «В начале была командная строка», эссе/книга о его личном опыте работы с операционными системами в период времени, описанный в этой короткой истории.
Этот учебник и краткая история дают пользователю Windows некоторое представление о том, как настроить свою среду разработки с использованием WSL 2, Ubuntu, VSCode, npx, Node, npm и Truffle.Это также дает немного истории того, как и почему мы должны это делать. Если у вас есть какие-либо комментарии или полезные советы, основанные на вашем опыте, отправьте их по адресу [email protected], чтобы я мог обновить эту статью и отметить ваш вклад.
Особая благодарность Onyebuchi Valentine Ahiwe, Clemens Wan, Anthony Albertorio, Eli Geschwind, Nick Nelson и другим добрым друзьям за обзор и комментарии к этому руководству и истории. Я ценю ваши комментарии.
.