Skip to content

Commit

Permalink
Merge pull request #211 from kinode-dao/hf/simplify-intro-pages
Browse files Browse the repository at this point in the history
change first page
  • Loading branch information
nick1udwig authored Jun 12, 2024
2 parents a535367 + 9265289 commit c6a0744
Show file tree
Hide file tree
Showing 6 changed files with 45 additions and 32 deletions.
3 changes: 2 additions & 1 deletion src/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Summary

- [Getting Started](./quick-start.md)
- [Getting Started](./getting-started.md)
- [Quick Start](./quick-start.md)
- [Introduction](./intro.md)
- [Identity System](./identity_system.md)
- [Design Philosophy](./design_philosophy.md)
Expand Down
Binary file modified src/assets/homepage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 16 additions & 2 deletions src/getting-started.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
# Getting Started
# The Kinode Book

This guide will help you get started with Kinode OS. It will walk you through the installation process, and provide an overview of the system's design philosophy and identity system.
Kinode OS is a decentralized operating system, peer-to-peer app framework, and node network designed to simplify the development and deployment of decentralized applications.
It is also a *sovereign cloud computer*, in that Kinode can be deployed anywhere and act as a server controlled by anyone.
Ultimately, Kinode facilitates the writing and distribution of software that runs on privately-held, personal server nodes or node clusters.

You are reading the Kinode Book, which is a technical document targeted at developers.

If you're a non-technical user:
- Learn about Kinode at the [Kinode blog](https://kinode.org/blog).
- Spin up a hosted node at [Valet](https://valet.kinode.org/).
- [Follow us on X](https://x.com/intent/follow?screen_name=KinodeOS).
- Join the conversation on [our Discord](https://discord.gg/mYDj74NkfP) or [Telegram](https://t.me/KinodeOS).

If you're a developer:
- Get your hands dirty with the [Quick Start](./quick-start.md), or the more detailed [My First Kinode Application](./build-and-deploy-an-app.md) tutorial.
- Learn how to boot a Kinode locally in the [Installation](./install.md) section.
29 changes: 15 additions & 14 deletions src/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,19 @@

This section will teach you how to get the Kinode OS core software, required to run a live node.
After acquiring the software, you can learn how to run it and [Join the Network](./login.md).
However, if you are just interested in starting development as fast as possible, start with [My First Kinode Application](./build-and-deploy-an-app.md).

If you want to make edits to the Kinode core software, see [Build From Source](#build-from-source).
- If you are just interested in starting development as fast as possible, skip to [My First Kinode Application](./build-and-deploy-an-app.md).
- If you want to run a Kinode without managing it yourself, use the [Valet](https://valet.kinode.org) hosted service.
- If you want to make edits to the Kinode core software, see [Build From Source](#build-from-source).

## Download Binary
## Option 1: Download Binary (Recommended)

If you do not have Docker, you can download a precompiled binary instead.
The Kinode DAO distributes pre-compiled binaries for Ubuntu and MacOS.

First, get the software itself by downloading a [precompiled release binary](https://github.com/kinode-dao/kinode/releases).
Choose the correct binary for your particular computer architecture and OS.
There is no need to download the `simulation-mode` binary — it is used behind the scenes.
Extract the `.zip` file and the binary is inside.
There is no need to download the `simulation-mode` binary — it is used behind the scenes by [`kit`](./kit/boot-fake-node.md).
Extract the `.zip` file: the binary is inside.

Note that some operating systems, particularly Apple, may flag the download as suspicious.
While the binary has not been tested exhaustively on all Linux distributions, it should *just work*.
Expand All @@ -25,11 +26,10 @@ Then, go to `System Settings > Privacy and Security` and click to `Open Anyway`

![Apple unknown developer](./assets/apple-unknown-developer.png)

---------------
## Option 2: Docker

## Docker

The recommended method for Linux and MacOS users is to use a prebuilt Docker image.
Kinode can also be run using Docker.
Linux and MacOS are supported.
Windows may work but is not officially supported.

### Installing Docker
Expand All @@ -49,7 +49,7 @@ Each volume is unique to each Kinode.
If you want to run multiple Kinodes, create multiple volumes.

The image includes EXPOSE directives for TCP port `8080` and TCP port `9000`.
Port `8080` is used for serving the Kinode web dashboard over HTTP, and it may be mapped to a different port on the host.
Port `8080` is used for serving the Kinode web dashboard over HTTP, and it may be mapped to a different port on the host.
Port `9000` is optional and is only required for a direct node.

If you are running a direct node, you **must** map port `9000` to the same port on the host and on your router.
Expand Down Expand Up @@ -77,11 +77,12 @@ To remove the container, run `docker remove my-kinode`.
As long as the volume is not deleted, your data remains intact upon removal or stop.
If you need further help with Docker, [access the official Docker documentation here](https://docs.docker.com/manuals/).

-----------------

## Build From Source
## Option 3: Build From Source

You can compile the binary from source using the following instructions.
This is only recommended if:
1. The [pre-compiled binaries](#download-binary) don't work on your system and you can't use [Docker](#docker) for some reason, or
2. You need to make changes to the Kinode core source.

### Acquire Dependencies

Expand Down
18 changes: 12 additions & 6 deletions src/login.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
# Join the Network

Let's get onto the live network!
This page discusses joining the network with a locally-run Kinode.
To instead join with a hosted node, see [Valet](https://valet.kinode.org/).

These directions are particular to the Kinode OS beta release.

Kinode is in active development on Optimism.

## Starting the Kinode

Start a Kinode using the binary acquired in the [previous section](./install.md).
Locating the binary on your system, print out the arguments expected by the binary:
Locate the binary on your system (e.g., if you built source yourself, the binary will be in the repository at `./kinode/target/debug/kinode` or `./kinode/target/release/kinode`).
Print out the arguments expected by the binary:

```
$ # NOTE: if you built source yourself, the binary will be in the repository
$ # at ./kinode/target/debug/kinode (or ./kinode/target/release/kinode).
$ ./kinode --help
A General Purpose Sovereign Cloud Computing Platform
Expand All @@ -25,9 +24,11 @@ Arguments:
Options:
--port <PORT> Port to bind [default: first unbound at or above 8080]
--ws-port <PORT> Kinode internal WebSockets protocol port [default: first unbound at or above 9000]
--tcp-port <PORT> Kinode internal TCP protocol port [default: first unbound at or above 10000]
--verbosity <VERBOSITY> Verbosity level: higher is more verbose [default: 0]
--reveal-ip If set to false, as an indirect node, always use routers to connect to other nodes.
--rpc <RPC> Add a WebSockets RPC URL at boot
--password <PASSWORD> Node password (in double quotes)
-h, --help Print help
-V, --version Print version
```
Expand All @@ -38,7 +39,7 @@ If this is not supplied, the node will use a set of default RPC providers served
If the `--port` flag is supplied, Kinode will attempt to bind that port for serving HTTP and will exit if that port is already taken.
If no `--port` flag is supplied, Kinode will bind to `8080` if it is available, or the first port above `8080` if not.

### Acquiring an RPC API Key [OPTIONAL]
<details><summary>OPTIONAL: Acquiring an RPC API Key</summary>

Create a new "app" on [Alchemy](https://dashboard.alchemy.com/apps) for Optimism Mainnet.

Expand All @@ -61,6 +62,8 @@ Next, check the box next to Optimism "MAINNET". After one is chosen, click "SAVE
On the "Active Endpoints" tab, there are tabs for "HTTPS" and "WebSockets". Select the WebSockets tab. Copy this endpoint and use it in place of the Alchemy endpoint in the following step, "Running the Binary".

![Active Endpoints Infura](./assets/active_endpoints_infura.png)
</details>


### Running the Binary

Expand Down Expand Up @@ -151,3 +154,6 @@ The networking key is how your node communicates securely with other nodes, and
After setting the node password, you will be greeted with the homepage.

![Homepage](./assets/homepage.png)

Try downloading, installing, and using some apps on the App Store.
Come ask for recommendations in the [Kinode Discord](https://discord.gg/mYDj74NkfP)!
9 changes: 0 additions & 9 deletions src/quick-start.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,5 @@
# Quick Start

Kinode OS is a decentralized operating system, peer-to-peer app framework, and node network designed to simplify the development and deployment of decentralized applications.

This Quick Start page is targeted at developers: if you want to get your hands dirty, continue [below](#run-two-fake-kinodes-and-chat-between-them).
A more detailed version of this Quick Start leads off the [My First Kinode Application](./build-and-deploy-an-app.md) section.

Otherwise:
* To learn about high-level concepts, start with the [Introduction](./intro.md), and work through the book in-order.
* To learn about how the system functions, start reading about [System Components](./system-components.md).

## Run two fake Kinodes and chat between them

```sh
Expand Down

0 comments on commit c6a0744

Please sign in to comment.