zenith-docs/docs/documentation/urbit-ship-hosting.md
2025-11-28 15:34:21 -05:00

2.3 KiB

Urbit Ship Hosting

Requirements and best practices for hosting Urbit ships as part of Zenith network participation.

Overview

Participation in the Zenith network requires hosting self-hosted Urbit ships for different roles. This page covers the infrastructure requirements, hosting options, and operational considerations for running Urbit ships as part of Zenith ecosystem participation.

Role-Based Requirements

Galaxy Operators

Galaxy operators must host the galaxy ship corresponding to their attested galaxy point and a star ship owned by the same Zenith account and sponsored by their galaxy. Both ships must be accessible and operational for network participation.

Star Operators

Star operators must host the Urbit ship for their attested star point while maintaining connectivity to sponsored planets and the sponsoring galaxy. High availability is essential for transaction aggregation services.

Planet Users

Planet users host their planet ship with the #zenith-desk installed, maintaining connection to their sponsoring star and ensuring their ship can access Zenith-enabled applications.

Operational Procedures

General Hosting Guidelines

Star and Galaxy hosting can be done by following the official Urbit documentation at docs.urbit.org/user-manual/running, with a few caveats for Galaxies (e.g., the port must be their point number plus some constant).

Ship Setup and Zenith Configuration

# Download and install Urbit
curl -L https://urbit.org/install-linux | bash

# Boot ship with pier directory
./urbit -w <ship-name> -k <keyfile>

Once your ship is running, install the zenith-desk from the dojo:

|install ~sampel-palnet %zenith-desk

Configure zenith-desk with the network parameters:

:zenith &config-chain-id 'zenith-stage1'
:zenith &config-janus-endpoint 'http://34.169.229.181:8090'
:zenith &config-http-api ['api.zenithd.zenith-test.tlon.systems' '1317']
:zenith &config-rpc ['api.zenithd.zenith-test.tlon.systems' '26657']

Manage accounts and tokens:

# Add account with private key
:zenith &add-account ['my-ship-name' 0x500e.49.....]

# Query zenith addresses
:zenith &zenith-address [our]
:zenith &zenith-address [~fus]

# Check balances
:zenith &balances-by-ship ~fipfus

# Send tokens
:zenith &send-to-ship ['my-ship-name' ~harrus 100 '$sZ']