.. | ||
cmd | ||
docs | ||
examples | ||
src | ||
tests | ||
.DS_Store | ||
.env.example | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
openrpc.json | ||
README.md |
server
: The Hero WebSocket Server
An OpenRPC WebSocket Server to interface with the cores of authorized circles.
- OpenRPC Specification defines the API.
- There are RPC Operations specified to authorize a websocket connection.
- Authorized clients can execute Rhai scripts on the server.
- The server uses the [supervisor] to dispatch [jobs] to the [workers].
Authentication
The server provides a robust authentication mechanism to ensure that only authorized clients can execute scripts. The entire flow is handled over the WebSocket connection using two dedicated JSON-RPC methods:
fetch_nonce
: The client requests a unique, single-use nonce (a challenge) from the server.authenticate
: The client sends back the nonce signed with its private key. TheCircleWs
actor verifies the signature to confirm the client's identity.
For a more detailed breakdown of the authentication architecture, please see the ARCHITECTURE.md file.
How to Run
cargo run