NODE
Bastyon построен по подобию децентрализованной Bitcoin network (сети Биткойн), не имеет центрального офиса и использует цепочку блоков для записи транзакций и обеспечения безопасности."
Центрального сервера нет: вместо этого платформа полагается на сеть узлов, расположеных по всему миру. Любой человек, имеющий компьютер, может фактически запустить узел (и получить за это вознаграждение в Pocketcoin).
Узлы на себе хранят информацию Бастиона, хеш каждого сообщения, каждого комментария, каждого взаимодействия (кроме чата сообщения!) все хранится в блокчейне . Сами сообщения и комментарии находятся не в блокчейне, а в сопутствующей базе данных, привязанной к блокчейну.
История[править]
Сначала мы сделаем торрент IPFS, но затем попытаемся перейти на наши собственные узлы, на которых размещается контент.
Блок Чейн[править]
Bastyon использует выделенный блокчейн, полученный непосредственно из цепочки биткойнов.
Узел может приносить Pkoin по алгоритму Стейкинг (Proof of Stake, сокращённо PoS; от англ. «Подтверждение доли») – алгоритм защиты блокчейна, позволяющий достичь консенсуса в сети. Подтверждение транзакций и создание блоков обеспечивается временной заморозкой части собственной криптовалюты пользователей под эту задачу. Минимальная сумма для запуска алгоритма стейкинга 50 Pocketcoin.
Узлы Бастиона бывают нескольких видов :-
Easy Node - легкий узел. Для Windows и Linux. Этот узел является частью приложения Бастиона для персонального компьютера. Он легко устанавливается в пару кликов мышки и имеет упрощенный дизайн для легкого ознакомления. Так же установленный легкий узел помогает быть в сети более конфедициально.
Node Core - узел Ядра. Для Windows и Linux. Этот узел является отдельной программой и работает независимо от приложения Бастиона для персонального компьютера. Графическое оформление стандартное, очень похоже на узел Биткойна. Узел Ядра имеет больше отображаемой информации в своем итерфейсе чем Easy Node. Узел Ядра может быть публичным узлом сети и криптосервером (смотреть далее в инструкции).
Node Core Cli - узел Ядра для Linux без графического интерфейса. Управление узлом осуществляется через терминал.
Node Core for Docker - узел Ядра для Docker.
Минимальные требования[править]
2 ядра, 4 озу, минимум 150гб свободного места на SSD диске! да, желательно чтоб компьютер работал всегда - если планируете заниматься стейкингом.
32[править]
Собираем Бастион самостоятельно из исходного кода!!!
Так получилось, что у меня стоит седьмая винда, ещё и 32-х битная. (Я бы и ХР поставил, но на ней вообще уже ничего не работает)
- Однако, новые версии десктопного Бастиона мне недоступны - 32-х битки просто не выкладывают.
- Обычно, я сижу, вообще, через браузер, но в связи с атаками на сайт bastyon.com я озаботился приложением...
Итак, Бастион написан на языке JavaScript, с использованием интерпретатора Node.JS и компилятора electron.
Скачать Node.JS можно тут: https://nodejs.org/ru/download
- Ну что ж, т.к. у меня, опять же, win7/х86, я скачиваю не .msi, а .zip - архив последней версии Node.JS, и ставить я его буду ручками.
Для этого, во первых, распакуем архив, и поместим файлы в удобное место, например, C:\UTILS\nodejs.
Следом открываем свойства "Моего компьютера", жмём "Дополнительные параметры системы", а там нам нужна кнопка "Переменные среды".
В нижнем разделе "Системные переменные" сначала находим переменную PATH, и меняем значение, добавив в самый конец через знак ";" путь к папке с распакованным архивом, например, так
;C:\UTILS\nodejs\
Важно не стирать значение, а именно, добавить в конец, и важно поставить ещё один бэкслэш (\) в конце.
Теперь, создаём там же две новые переменные:
- NODE_PATH со значением C:\UTILS\nodejs\
и NODE_SKIP_PLATFORM_CHECK со значением 1
Всё! Теперь Node.JS у нас установлен. Считается, что после этого нужна перезагрузка - а я говорю не нужна))
- Проверяем установку, для этого запускаем терминал (Win+R - набираем Cmd), а в нём команду:
node -v
- Если всё правильно сделано, Node.JS должен выдать свою версию.
Кстати, по поводу терминалов... Лично мне удобно, когда терминал можно открыть из меню любой папки, а нам надо, к тому же, открывать терминал с правами Админа. Для этого качаем это:
https://www.outsidethebox.ms/blog/wp-content/uploads/files/CMDasAdmin.zip
Распаковываем, правой кнопкой на .inf - файл, жмём "Установить". Смотрим и любуемся.
Теперь, давайте скачаем, собственно, исходники самого Бастиона. Идём на:
https://github.com/pocketnetteam/pocketnet.gui/releases
и выбираем для скачки Source code (zip). Качаем, распаковываем в удобное место.
Теперь из меню папки с исходником открываем терминал с правами Админа.
- На следующем этапе мы будем устанавливать electron. Для этого нам потребуется лом и кувалда...
- Да НЕТ! Оказывается, Node.JS такая удобная штука, что в ней есть утилита npm - я так понял, расшифровывается это как "node package manager", или, как-то так. Так вот она сливает и устанавливает сама все дополнения и библиотеки к Node.JS.
Но, что-то она у меня сначала заругалась, что больно уж старая карга, поэтому пришлось обновить её через неё же, командой:
npm install -g npm@9.8.0
Поставить electron очень просто, набираем:
npm install --save-dev electron@latest
Следом, ставим его, как-бы, глобально:
npm install -g electron
А потом, подключаем его к исходникам Бастиона:
npm install electron
А теперь, начинаем компилирование!!!
npm run dev:bastyon
Следующая команда уже будет билдить бинарник приложения и создавать дистрибутив.
- Но, не забываем о том, что в приложение Бастион теперь встроен и TOR, но с исходниками ТОР не поставляется.
- Чтобы он уже оказался встроен в дистрибутив Бастиона, нужно скопировать папку tor в папку proxy16 исходников.
- Потом вводим команду:
npm run dist
УРа! Бастион собран! Появилась папка dist, в которой видим BastyonSetup.exe, и, вот она родимая, папка win-ia32-unpacked с уже работающей портабл-версией 32х-битного Бастиона!
Есть множество параноиков, подозревающих разработчиков в нечестности, всяких злоупотреблениях, и т.п.
- Так, берите, вот, сами исследуйте код, пишите всякие дополнения, примочки, расширяйте функционал Бастиона.
Командная строка[править]
На простой NOD нет командной строки.