Skip to content

Commit 8ef4fbc

Browse files
authored
Merge pull request #574 from kinode-dao/release-candidate
Release candidate 0.9.7
2 parents ed41dd4 + a7b9d12 commit 8ef4fbc

File tree

28 files changed

+1031
-549
lines changed

28 files changed

+1031
-549
lines changed

Cargo.lock

Lines changed: 33 additions & 56 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "kinode_lib"
33
authors = ["KinodeDAO"]
4-
version = "0.9.6"
4+
version = "0.9.7"
55
edition = "2021"
66
description = "A general-purpose sovereign cloud computing platform"
77
homepage = "https://kinode.org"
@@ -27,6 +27,7 @@ members = [
2727
"kinode/packages/terminal/kill", "kinode/packages/terminal/m", "kinode/packages/terminal/top",
2828
"kinode/packages/terminal/net_diagnostics", "kinode/packages/terminal/peer", "kinode/packages/terminal/peers",
2929
"kinode/packages/tester/tester",
30+
"scripts/build_packages",
3031
]
3132
default-members = ["lib"]
3233
resolver = "2"

Dockerfile.buildruntime

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,4 @@ ENV NVM_DIR=/root/.nvm \
1010
WORKDIR /input
1111

1212
# Set the default command to run the build script
13-
# TODO: once build is idempotent, remove the `rm -rf` line
14-
CMD ["/bin/bash", "-c", ". ~/.bashrc && . ~/.cargo/env && . $NVM_DIR/nvm.sh && rm -rf target/ kinode/packages/*/pkg/*wasm kinode/packages/*/*/target/ kinode/packages/*/pkg/api.zip kinode/packages/*/*/wit kinode/packages/app_store/pkg/ui kinode/packages/homepage/pkg/ui kinode/src/register-ui/build && ./scripts/build-release.py && cp -r /tmp/kinode-release/* /output && chmod 664 /output/* && rm -rf target/ kinode/packages/*/pkg/*wasm kinode/packages/*/*/target/ kinode/packages/*/pkg/api.zip kinode/packages/*/*/wit kinode/packages/app_store/pkg/ui kinode/packages/homepage/pkg/ui kinode/src/register-ui/build"]
13+
CMD ["/bin/bash", "-c", ". ~/.bashrc && . ~/.cargo/env && . $NVM_DIR/nvm.sh && ./scripts/build-release.py && cp -r /tmp/kinode-release/* /output && chmod 664 /output/* && find . -user root -print0 2>/dev/null | xargs -0 rm -rf"]

README.md

Lines changed: 40 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<p align="center">
22
<img width="551" alt="Screenshot 2024-05-08 at 2 38 11 PM" src="https://github.com/kinode-dao/kinode/assets/93405247/24c7982b-9d76-419a-96dc-ec4a25dda562">
33
<br />
4-
<img src="https://img.shields.io/twitter/follow/kinodeOS">
4+
<img src="https://img.shields.io/twitter/follow/Kinode">
55

66
</p>
77

@@ -28,28 +28,30 @@ On certain operating systems, you may need to install these dependencies if they
2828

2929
git clone [email protected]:kinode-dao/kinode.git
3030

31-
# Get some stuff so we can build Wasm.
31+
# Install Rust and some `cargo` tools so we can build the runtime and Wasm.
3232

33-
cd kinode
33+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
3434
cargo install wasm-tools
3535
rustup install nightly
36-
rustup target add wasm32-wasi
37-
rustup target add wasm32-wasi --toolchain nightly
38-
rustup target add wasm32-wasip1
3936
rustup target add wasm32-wasip1 --toolchain nightly
4037
cargo install cargo-wasi
4138

4239
# Install NPM so we can build frontends for "distro" packages.
4340
# https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
44-
# If you want to skip this step, run cargo build with the environment variable SKIP_BUILD_FRONTEND=true
41+
# If you want to skip this step, build the packages with `cargo run -p build_packages -- --skip-build-frontend` to neglect building the frontends
4542

46-
# Build the runtime, along with a number of "distro" Wasm modules.
47-
# The compiled binary will be at `kinode/target/debug/kinode`
48-
# OPTIONAL: --release flag (slower build; faster runtime; binary at `kinode/target/release/kinode`)
43+
# Build the "distro" Wasm modules, then, build the runtime.
44+
# The compiled packages will be at `kinode/target/packages.zip`.
45+
# The compiled binary will be at `kinode/target/debug/kinode`.
46+
# OPTIONAL: --release flag (slower build; faster runtime; binary at `kinode/target/release/kinode`).
4947

50-
cargo +nightly build -p kinode
48+
cd kinode
49+
cargo run -p build_packages
50+
cargo build -p kinode
5151
```
5252

53+
[To build on Windows](https://gist.github.com/nick1udwig/f2d39a3fc6ccc7f7ad2912e8d3aeaae0)
54+
5355
## Security Status
5456

5557
No security audits of this crate have ever been performed. This software is under active development and should be **used at your own risk**.
@@ -58,14 +60,37 @@ No security audits of this crate have ever been performed. This software is unde
5860

5961
Make sure not to use the same home directory for two nodes at once! You can use any name for the home directory: here we just use `home`. The `--` here separates cargo arguments from binary arguments.
6062

61-
TODO: document feature flags in `--simulation-mode`
62-
6363
```bash
6464
# OPTIONAL: --release flag
6565
cargo +nightly run -p kinode -- home
6666
```
6767

68-
On boot you will be prompted to navigate to `localhost:8080` (or whatever HTTP port your node bound to: it will try 8080 and go up from there, or use the port passed with the `--http-port` boot flag. Make sure your browser wallet matches the network that the node is being booted on. Follow the registration UI -- if you want to register a new ID you will either need Optimism ETH or an invite code.
68+
On boot you will be prompted to navigate to `localhost:8080` or whatever HTTP port your node bound to: it will try 8080 and go up from there, or use the port passed with the `--port` boot flag. Make sure your browser wallet matches the network that the node is being booted on. Follow the registration UI -- if you want to register a new ID you will either need Optimism ETH or an invite code.
69+
70+
#### Boot Flags
71+
72+
Here are all the available boot flags for the Kinode runtime:
73+
74+
- `[home]`: (Required) Path to home directory.
75+
- `-p, --port <PORT>`: Port to bind for HTTP. Default is the first unbound port at or above 8080.
76+
- `--ws-port <PORT>`: Kinode internal WebSockets protocol port. Default is the first unbound port at or above 9000.
77+
- `--tcp-port <PORT>`: Kinode internal TCP protocol port. Default is the first unbound port at or above 10000.
78+
- `-v, --verbosity <VERBOSITY>`: Verbosity level: higher (up to 3)is more verbose. Default is 0.
79+
- `-l, --logging-off`: Run in non-logging mode. Do not write terminal output to file in .terminal_logs directory.
80+
- `-d, --detached`: Run in detached mode (don't accept input on terminal).
81+
- `--rpc <RPC>`: Add a WebSockets Optimism RPC URL at boot.
82+
- `--password <PASSWORD>`: Node password (in double quotes).
83+
- `--max-log-size <MAX_LOG_SIZE_BYTES>`: Max size of all terminal logs in bytes. Setting to 0 means no size limit. Default is 16MB.
84+
- `--number-log-files <NUMBER_LOG_FILES>`: Number of terminal logs to rotate. Default is 4.
85+
- `--max-peers <MAX_PEERS>`: Maximum number of peers to hold active connections with. Default is 32.
86+
- `--max-passthroughs <MAX_PASSTHROUGHS>`: Maximum number of passthroughs to serve as a router. Default is 0.
87+
- `--soft-ulimit <SOFT_ULIMIT>`: Enforce a static maximum number of file descriptors. Default is fetched from system.
88+
89+
When compiled with the `simulation-mode` feature, two additional flags are available:
90+
91+
- `--fake-node-name <NAME>`: Name of fake node to boot.
92+
- `--fakechain-port <FAKECHAIN_PORT>`: Port to bind to for local anvil-run blockchain.
93+
6994

7095
## Configuring the ETH RPC Provider
7196

@@ -88,6 +113,7 @@ This distribution of the OS also comes with userspace packages pre-installed. So
88113
The runtime distro processes are:
89114

90115
- `eth:distro:sys`
116+
- `fd_manager:distro:sys`
91117
- `http_client:distro:sys`
92118
- `http_server:distro:sys`
93119
- `kernel:distro:sys`

kinode/Cargo.toml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "kinode"
33
authors = ["KinodeDAO"]
4-
version = "0.9.6"
4+
version = "0.9.7"
55
edition = "2021"
66
description = "A general-purpose sovereign cloud computing platform"
77
homepage = "https://kinode.org"
@@ -14,12 +14,7 @@ path = "src/main.rs"
1414

1515
[build-dependencies]
1616
anyhow = "1.0.71"
17-
flate2 = "1.0"
18-
kit = { git = "https://github.com/kinode-dao/kit", tag = "v0.7.6" }
19-
tar = "0.4"
20-
tokio = "1.28"
21-
walkdir = "2.4"
22-
zip = "0.6"
17+
sha2 = "0.10.8"
2318

2419
[features]
2520
simulation-mode = []
@@ -67,6 +62,7 @@ nohash-hasher = "0.2.0"
6762
open = "5.1.4"
6863
public-ip = "0.2.2"
6964
rand = "0.8.4"
65+
regex = "1.11.0"
7066
reqwest = "0.12.4"
7167
ring = "0.17.8"
7268
rmp-serde = "1.1.2"

0 commit comments

Comments
 (0)