diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 60f68c93..5bd533ac 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -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) diff --git a/src/assets/homepage.png b/src/assets/homepage.png index 82dc6ff9..3f65e53e 100644 Binary files a/src/assets/homepage.png and b/src/assets/homepage.png differ diff --git a/src/getting-started.md b/src/getting-started.md index 53ee2383..1ed808ed 100644 --- a/src/getting-started.md +++ b/src/getting-started.md @@ -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. \ No newline at end of file +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. diff --git a/src/install.md b/src/install.md index 1c42d82e..6f342062 100644 --- a/src/install.md +++ b/src/install.md @@ -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*. @@ -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 @@ -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. @@ -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 diff --git a/src/login.md b/src/login.md index f653f10a..33b52a53 100644 --- a/src/login.md +++ b/src/login.md @@ -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 @@ -25,9 +24,11 @@ Arguments: Options: --port Port to bind [default: first unbound at or above 8080] --ws-port Kinode internal WebSockets protocol port [default: first unbound at or above 9000] + --tcp-port Kinode internal TCP protocol port [default: first unbound at or above 10000] --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 Add a WebSockets RPC URL at boot + --password Node password (in double quotes) -h, --help Print help -V, --version Print version ``` @@ -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] +
OPTIONAL: Acquiring an RPC API Key Create a new "app" on [Alchemy](https://dashboard.alchemy.com/apps) for Optimism Mainnet. @@ -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) +
+ ### Running the Binary @@ -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)! diff --git a/src/quick-start.md b/src/quick-start.md index 19e38c8c..441cccc3 100644 --- a/src/quick-start.md +++ b/src/quick-start.md @@ -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