not really known
Go to file
2023-10-24 14:54:24 -04:00
.github/workflows import from previous repo 2023-10-02 16:02:53 -04:00
modules fix live_chess and encryptor 2023-10-23 19:34:13 +02:00
src removed QNSRegistry.json and abigen from main.rs as networking information validation was moved entirely into the register app 2023-10-24 14:54:24 -04:00
terminal WIP 2023-10-05 15:03:42 -04:00
wit remove old WASI stuff, update app store transfer lib 2023-10-17 13:00:21 -04:00
.env.example fix env var name in .env.example 2023-10-13 13:47:07 -07:00
.gitignore woohoo!! 2023-10-06 00:12:31 -04:00
.gitmodules added register as a git submodule, building it in build.rs 2023-10-03 15:31:51 -04:00
build-app.sh woohoo!! 2023-10-06 00:12:31 -04:00
build.rs Merge branch 'main' into jf/invite 2023-10-23 21:11:26 -04:00
Cargo-component.lock import from previous repo 2023-10-02 16:02:53 -04:00
Cargo.lock add /encryptor route, remove regex 2023-10-20 16:12:11 +02:00
Cargo.toml fix deps in merge, clean up main, switch to HTTP 302 to get homepage redir 2023-10-23 21:43:45 -04:00
README.md Merge branch 'main' into jf/invite 2023-10-18 17:27:19 -04:00
wasi_snapshot_preview1.wasm import from previous repo 2023-10-02 16:02:53 -04:00

Last updated: 10/16/23

Setup

Building components

# Clone the repo.

git clone git@github.com:uqbar-dao/uqbar.git
git clone git@github.com:uqbar-dao/redb.git

Make sure the two repos are next to each other in your directory structure.

# Get some stuff so we can build wasm.

cd uqbar
cargo install wasm-tools
rustup install nightly
rustup target add wasm32-wasi
rustup target add wasm32-wasi --toolchain nightly
cargo install cargo-wasi
cargo install --git https://github.com/bytecodealliance/cargo-component --locked cargo-component

# Initialize submodules, in particular the register app
git submodule update --init --recursive

# Build the runtime, along with a number of booted-at-startup WASM modules including terminal and key_value
# OPTIONAL: --release flag
cargo +nightly build --release

# Create the home directory for your node
# If you boot multiple nodes, make sure each has their own home directory.
mkdir home

Boot

If you do not receive QNS updates in terminal, it's a sign that the default public-access RPC endpoint is rate-limiting or blocking you. Get an eth-sepolia-rpc API key and pass that as an argument. You can get one for free at alchemy.com.

Also, make sure not to use the same home directory for two nodes at once! You can use any name for the home directory.

cargo +nightly run --release home --rpc wss://eth-sepolia.g.alchemy.com/v2/<your-api-key>

On boot you will be prompted to navigate to localhost:8080. Make sure your eth wallet is connected to the Sepolia test network. Login should be very straightforward, just submit the transactions and follow the flow.

Terminal syntax

  • CTRL+C or CTRL+D to shutdown node

  • CTRL+V to toggle verbose mode, which is on by default

  • CTRL+J to toggle debug mode

  • CTRL+S to step through events in debug mode

  • CTRL+A to jump to beginning of input

  • CTRL+E to jump to end of input

  • UpArrow/DownArrow or CTRL+P/CTRL+N to move up and down through command history

  • CTRL+R to search history, CTRL+R again to toggle through search results, CTRL+G to cancel search

  • !message <name> <app> <json>: send a card with a JSON value to another node or yourself. can be our, which will be interpreted as our node's username.

  • !hi <name> <string>: send a text message to another node's command line.

  • <name> is either the name of a node or our, which will fill in the present node name

  • more to come

Example usage

TODO