Skip to content

Commit da036ea

Browse files
authored
fix: readme RPC info and other nits
1 parent b5468d9 commit da036ea

File tree

1 file changed

+10
-15
lines changed

1 file changed

+10
-15
lines changed

README.md

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ cargo +nightly build -p kinode
4242
No security audits of this crate have ever been performed. This software is under active development and should be **used at your own risk**.
4343

4444
## Boot
45-
Get an eth-sepolia-rpc API key and pass that as an argument. You can get one for free at `alchemy.com`.
4645

4746
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.
4847

@@ -52,18 +51,20 @@ TODO: document feature flags in `--simulation-mode`
5251
cargo +nightly run -p kinode -- home
5352
```
5453

55-
On boot you will be prompted to navigate to `localhost:8080`. 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.
54+
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.
5655

5756
## Configuring the ETH RPC Provider
5857

59-
By default, a node will use the [hardcoded providers](./kinode/default_providers_mainnet.json) for the network it is booted on. A node can use a WebSockets RPC URL directly, or use another Kinode as a relay point. To adjust the providers a node uses, just create and modify the `.eth_providers` file in the node's home folder (set at boot). See the Kinode Book for more docs, and see the [default providers file here](./kinode/default_providers_mainnet.json) for a template to create `.eth_providers`.
58+
By default, a node will use the [hardcoded providers](./kinode/src/eth/default_providers_mainnet.json) for the network it is booted on. A node can use a WebSockets RPC URL directly, or use another Kinode as a relay point. To adjust the providers a node uses, just create and modify the `.eth_providers` file in the node's home folder (set at boot). See the Kinode Book for more docs, and see the [default providers file here](./kinode/src/eth/default_providers_mainnet.json) for a template to create `.eth_providers`.
6059

61-
You may also add a RPC provider or otherwise modify your configuration by sending messages from the terminal to the `eth:distro:sys` process. Use this message format to add a provider -- this will make your node's performance better when accessing a blockchain:
60+
You may also add a RPC provider or otherwise modify your configuration by sending messages from the terminal to the `eth:distro:sys` process. You can get one for free at `alchemy.com`. Use this message format to add a provider -- this will make your node's performance better when accessing a blockchain:
6261
```
6362
m our@eth:distro:sys '{"AddProvider": {"chain_id": <SOME_CHAIN_ID>, "trusted": true, "provider": {"RpcUrl": "<WS_RPC_URL>"}}}'
6463
```
6564
We will soon add a settings GUI for this.
6665

66+
You can also do the same thing by using the `--rpc` boot flag with an Optimism WebSockets RPC URL.
67+
6768
## Distro and Runtime processes
6869

6970
The base OS install comes with certain runtime modules. These are interacted with in the same way as userspace processes, but are deeply ingrained to the system and the APIs they present at their Process IDs are assumed to be available by userspace processes. All of these are identified in the `distro:sys` package.
@@ -89,9 +90,11 @@ The distro userspace packages are:
8990
- `app_store:sys`
9091
- `chess:sys`
9192
- `homepage:sys`
93+
- `kino_updates:sys`
9294
- `kns_indexer:sys`
95+
- `settings:sys`
9396
- `terminal:sys`
94-
- `tester:sys` (used with `kit` for running test suites)
97+
- `tester:sys` (used with `kit` for running test suites, only installed in `simulation-mode`)
9598

9699
The `sys` publisher is not a real node ID, but it's also not a special case value. Packages, whether runtime or userspace, installed from disk when a node bootstraps do not have their package ID or publisher node ID validated. Packages installed (not injected locally, as is done during development) after a node has booted will have their publisher field validated.
97100

@@ -110,7 +113,7 @@ The `sys` publisher is not a real node ID, but it's also not a special case valu
110113
- UpArrow/DownArrow or CTRL+P/CTRL+N to move up and down through command history
111114
- CTRL+R to search history, CTRL+R again to toggle through search results, CTRL+G to cancel search
112115

113-
- `m <address> <json>`: send an inter-process message. <address> is formatted as <node>@<process_id>. <process_id> is formatted as <process_name>:<package_name>:<publisher_node>. JSON containing spaces must be wrapped in single-quotes (`''`).
116+
- `m <address> '<json>'`: send an inter-process message. <address> is formatted as <node>@<process_id>. <process_id> is formatted as <process_name>:<package_name>:<publisher_node>. JSON containing spaces must be wrapped in single-quotes (`''`).
114117
- Example: `m our@eth:distro:sys "SetPublic" -a 5`
115118
- the '-a' flag is used to expect a response with a given timeout
116119
- `our` will always be interpolated by the system as your node's name
@@ -127,14 +130,6 @@ The `sys` publisher is not a real node ID, but it's also not a special case valu
127130
- `peers`: print the peers the node currently hold connections with
128131
- `peer <name>`: print the peer's PKI info, if it exists
129132

130-
### Terminal example usage
131-
132-
Download and install an app:
133-
```
134-
m our@main:app_store:sys '{"Download": {"package": {"package_name": "<pkg>", "publisher_node": "<node>"}, "install_from": "<node>"}}'
135-
m our@main:app_store:sys '{"Install": {"package_name": "<pkg>", "publisher_node": "<node>"}}'
136-
```
137-
138133
## Running as a Docker container
139134

140135
This image expects a volume mounted at `/kinode-home`. This volume may be empty or may contain another Kinode's data. It will be used as the home directory of your Kinode.
@@ -155,4 +150,4 @@ docker volume create kinode-volume
155150
docker run -d -p 8080:8080 -it --name my-kinode \
156151
--mount type=volume,source=kinode-volume,destination=/kinode-home \
157152
0xlynett/kinode
158-
```
153+
```

0 commit comments

Comments
 (0)