Skip to content

Commit

Permalink
Restructure Documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
andyoknen committed Nov 5, 2024
1 parent bc4a320 commit 85ca2fa
Show file tree
Hide file tree
Showing 6 changed files with 169 additions and 79 deletions.
56 changes: 24 additions & 32 deletions docs/.vuepress/configs/navbar/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,43 +4,35 @@ import { VERSION } from '../meta.js'
export const navbarEn: NavbarOptions = [
{
text: 'Guide',
children: [
'/guide/introduction.md',
'/guide/getting-started.md',
'/guide/monetization/index.md',
'/guide/full-node/',
'/guide/easy-node/',
],
},
{
text: 'Development',
children: [
'/dev/introduction.md',
'/dev/get-started.md',
'/dev/infrastructure.md',
'/dev/contribution.md',
{
text: 'Proxy & API',
children: [
'/dev/api/get-started.md',
],
},
{
text: 'Client Applications',
children: [
'/dev/apps/get-started.md',
],
},
{
text: 'Blockchain Node',
children: [
'/dev/node/get-started.md',
'/dev/node/requirements.md',
'/dev/node/environment.md',
'/dev/node/building.md',
'/dev/node/contribution.md',
],
},
],
},
{
text: 'Blockchain',
children: [
'/dev/node/get-started.md',
'/dev/node/requirements.md',
'/dev/node/environment.md',
'/dev/node/building.md',
'/dev/node/contribution.md',
],
},
{
text: 'Proxy & API',
children: [
'/dev/api/introduction.md',
'/dev/api/get-started.md',
],
},
{
text: 'Applications',
children: [
'/dev/apps/introduction.md',
'/dev/apps/get-started.md',
],
},

Expand Down
53 changes: 14 additions & 39 deletions docs/.vuepress/configs/sidebar/en.ts
Original file line number Diff line number Diff line change
@@ -1,42 +1,20 @@
import type { SidebarOptions } from '@vuepress/theme-default'

export const sidebarEn: SidebarOptions = {
'/guide/': [
{
text: 'Guide',
children: [
'/guide/introduction.md',
'/guide/getting-started.md',
'/guide/monetization/',
'/guide/full-node/',
'/guide/easy-node/',
],
},
],
'/dev/': [
{
text: 'Development',
text: 'Guide',
children: [
'/dev/introduction.md',
'/dev/get-started.md',
'/dev/infrastructure.md',
'/dev/contribution.md',
],
},
],
'/dev/node': [
{
text: 'Proxy & API',
children: [
'/dev/api/get-started.md',
],
},
{
text: 'Client Applications',
children: [
'/dev/apps/get-started.md',
],
},
{
text: 'Blockchain Node',
text: 'Blockchain',
children: [
'/dev/node/get-started.md',
'/dev/node/requirements.md',
Expand All @@ -46,26 +24,23 @@ export const sidebarEn: SidebarOptions = {
],
},
],
'/advanced/': [
'/dev/api': [
{
text: 'Advanced',
text: 'Proxy & API',
children: [
'/advanced/architecture.md',
'/advanced/plugin.md',
'/advanced/theme.md',
'/dev/api/introduction.md',
'/dev/api/get-started.md',
],
},
],
'/dev/apps': [
{
text: 'Cookbook',
text: 'Applications',
children: [
'/advanced/cookbook/README.md',
'/advanced/cookbook/usage-of-client-config.md',
'/advanced/cookbook/adding-extra-pages.md',
'/advanced/cookbook/making-a-theme-extendable.md',
'/advanced/cookbook/passing-data-to-client-code.md',
'/advanced/cookbook/markdown-and-vue-sfc.md',
'/advanced/cookbook/resolving-routes.md',
'/dev/apps/introduction.md',
'/dev/apps/get-started.md',
],
},
],

}
8 changes: 4 additions & 4 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ home: true
title: Home
heroImage: /images/bastyon-logo-256x256.png
actions:
- text: Monetize With Bastyon
link: /guide/monetization/
- text: Get Started
link: /dev/get-started.md
type: primary

- text: Development
link: /dev/introduction.md
- text: Public API
link: /dev/api/introduction.md
type: secondary

features:
Expand Down
1 change: 1 addition & 0 deletions docs/dev/api/introduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Introduction
1 change: 1 addition & 0 deletions docs/dev/apps/introduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Introduction
129 changes: 125 additions & 4 deletions docs/dev/node/building.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,130 @@
# Building

## Cmake
## Вступление

## Makefile
Блокчейн нода Бастион это форк Биткоин, поэтому большинство решений идентичны процессу
сборки Биткоин узла. Можно разделить данный пакет на ключевые исполняемые файлы:
- `pocketcoind`: демон узла, позволяющий запустить узел в терминале или docker-контейнере. Управление узлом в этом варианте реализуется через конфигурационный файл `pocketcoin.conf` или HTTP (далее RPC) интерфейс.
- `pocketcoin-qt`: графический вариант, включающий в себя весь функционал демона. Основа интерфейса составляет кошелек со всеми присущими ему функциями. Также интерфейс дополняют такие инструменты, как консоль RPC, панель управления пирами, настройки узла и т.д.
- `pocketcoin-cli`: консольная утилита для управления узлом через RPC интерфейс, позволяет взаимодействовать с кошельком, получать статистику или настраивать уровни и категории логирования.

## JetBrains CLion
Каждый из этих исполняемых файлов может быть собран как по отдельности, так и целиком, упакованные в установочный пакет (NSIS пакет Windows, DEB архив для Debian/Ubuntu, DMG for MacOS). Способ сборки зависит от личных предпочтений разработчика, в данном руководстве представлены два основных способа (для целей разработки и релизные версии).

## Visual Studio
## Getting Started

Для успешной сборки могут потребоваться права администратора вашей ОС для установки необходимого ПО. Также предполагается, что пользователь владеет навыками работы с терминалом (установка пакетов и редактирование файлов). Желательны минимальные знания о структуре и назначении файлов при сборке C++ проектов. Также для избегания конфликтов рекомендуется использовать Docker для сборки и запуска узла.

## Общие требования

- [git](https://git-scm.com/)
- [cmake](https://cmake.org/) v3.20+

## Сборка в Docker Контейнере

Docker предоставляет широкие возможности выбора платформы для работы и изоляции от основной операционной системы. Использование docker контейнеров не обязательное условие, но позволяет избежать проблем с зависимостями в процессе работы. В данном руководстве для описания процесса используется образ `ubuntu:22.04`.

## Загрузка репозитория

Загрузите проект из официального репозитория (для этого потребуется установить git). Основная ветвь является допустимой для работы в Main сети, но может включать в себя коммиты, которые принадлежат к стадии BETA. Рекомендуется переключить репозиторий на последний тег.

```bash
apt-get update && apt-get install git
git clone https://github.com/pocketnetteam/pocketnet.core
cd pocketnet.core/
git checkout $(git describe --tags "$(git rev-list --tags --max-count=1)")
```

## Подготовка пакетов зависимостей

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

### Целевая ОС: Linux x64

```bash
apt-get update && apt-get install git make automake cmake curl g++-multilib libtool binutils-gold bsdmainutils pkg-config python3 patch bison
```

#### Целевая ОС: Linux arm64

```bash

```

#### Целевая ОС: Windows x64

```bash

```

#### Целевая ОС: MacOS x64 (intel)

```bash

```

#### Целевая ОС: MacOS arm64 (mX)

```bash

```

Каталог `depends/` содержит все необходимые пакеты для сборки, которые позволяют скомпиллироть код для разных платформ.

Чтобы выполнить сборку зависимостей необходимо передать компилятору `make` аргумент `HOST` с указанием целевой платформы.

```bash
cd depends/
make HOST=host-platform-triplet
cd ..
```

Common `host-platform-triplets` for cross compilation are:
- `x86_64-pc-linux-gnu` for Linux (64-bit)
- `x86_64-w64-mingw32` for Windows (64-bit)
- `x86_64-apple-darwin16` for macOS (64-bit)
- `arm64-apple-darwin` for ARM macOS (64-bit)


### Конфигурирование и компиляция

#### `cmake`

:::tip
Данный вид сборки находится в стадии тестирования и не предназначен для использования в продакшне.
:::

```bash
mkdir build && cd build
cmake -DCMAKE_PREFIX_PATH=$PWD/../depends/host-platform-triplets ..
cmake --build . --config Debug -j 4
```

В результате будут скомпилированы следующие файлы:
```
└─ build/
└─ src/
└─ qt/
│ └─ pocketcoin-qt
├─ pocketcoind
├─ pocketcoin-cli
```

#### `make`

Основной способ сборки испоняемых файлов и установочных пакетов.

```bash
./autogen.sh
./configure --prefix=$PWD/depends/host-platform-triplets
make
make deploy
```

В результате будут скомпилированы следующие файлы:
```
└─ src
└─ qt/
│ └─ pocketcoin-qt
├─ pocketcoind
└─ pocketcoin-cli
```

0 comments on commit 85ca2fa

Please sign in to comment.