Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/run/running-a-hyperbeam-node.md
Original file line number Diff line number Diff line change
Expand Up @@ -248,3 +248,4 @@ To stop the node running *within the `rebar3 shell`*, press `Ctrl+C` twice or us
* **Configure Your Node:** Deep dive into [configuration options](./configuring-your-machine.md).
* **TEE Nodes:** Learn about running nodes in [Trusted Execution Environments](./tee-nodes.md) for enhanced security.
* **Routers:** Understand how to configure and run a [router node](./joining-running-a-router.md).
* **Scheduler Device:** Learn how to [set up a Scheduler device](./setting-up-a-scheduler-device.md) to announce your node as an AO scheduler.
37 changes: 37 additions & 0 deletions docs/run/setting-up-a-scheduler-device.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Setting Up a Scheduler Device

This guide is for operators who are already running a production HyperBEAM node and want to register it as an AO scheduler.

## Prerequisites

If you started your node using the default device list in [hb_opts.erl](../../src/hb_opts.erl), both `~location@1.0` and `~scheduler@1.0` are already onboarded — no additional configuration is required to enable them.

## Announcing Your Scheduler Location

To register your node as a scheduler on the AO network, you need to call the `~location@1.0` device endpoint **from the node host itself** (i.e. run the command on the same machine running HyperBEAM). This ensures the request originates from the correct origin.

Run the following curl command on your node host (Linux/Mac):

```bash
curl -sS -H 'Accept: application/json' http://127.0.0.1:8734/~location@1.0/node
```

### What Success Looks Like

A successful call returns an **HTTP 200 OK** response from `~location@1.0` in the node logs and will give you some details in your local console. This publishes a transaction to the network announcing your scheduler's location.

## Emitted Transaction Tags

The published transaction should include tags similar to the following:

```
data-Protocol: ao
variant: ao.N.1
type: location
url: https://your-node-domain.example.com
nonce: <nonce-value>
time-to-live: TTL
codec-device: Codec
```

> **Note:** The `url` field should point to your node's publicly accessible address (for example, `https://push.forward.computer`). The `nonce` value is generated automatically.
4 changes: 2 additions & 2 deletions docs/theme/templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -664,7 +664,7 @@ <h2>
</div>

<a
href="https://cookbook_ao.arweave.net/welcome/ao-core-introduction.html"
href="https://cookbook_ao.arweave.net/welcome/index.html"
>
<button class="main-button">
<svg
Expand Down Expand Up @@ -912,4 +912,4 @@ <h2>
{% endfor %}
{% endblock %}
</body>
</html>
</html>