on master help sign in
Merge pull request #401 from urbit/star-ops

Star ops

commit1094734eebac7072bdb2fe3d961d0a726efa166c authorMorgan Sutherland <msutherl@users.noreply.github.com> dateFri 22 Feb 2019, 15:37 (8 years ago) parent8e7f133f547668
2 files changed+52−8
getting-started/landscape.udon−8 getting-started/using-a-star.udon+52
getting-started/landscape.udondeleted−8
@@ -1,8 +0,0 @@
1−:- :~ title/'Landscape'
2− sort/'3'
3− ==
4−;>
5−
6−# Landscape
7−
8−We're using Landscape, our new UI, to bootstrap a city dedicated to learning Hoon and contributing to Urbit. If you'd like to know more about joining this city, [send us an email](mailto:support@urbit.org).
getting-started/using-a-star.udonnew file+52
@@ -0,0 +1,52 @@
1+:- :~ title/'Operating a Star'
2+ sort/'2'
3+ ==
4+;>
5+
6+# Operating a Star
7+
8+A _ship_ is an instance of the Arvo operating system that is used as a personal server on the Arvo network. Stars are a type of ship that act as infrastructure for the Arvo network. In the Arvo ship-hierarchy, stars are below galaxies and above planets.
9+
10+Parallel to the Arvo network is Azimuth, the Urbit identity system that uses the Ethereum blockchain. All ships must boot with a corresponding _point_ -- an Azimuth identity -- to use the Arvo network.
11+
12+Important star operations happen on both the Arvo side and the Azimuth side. On the Arvo side, these operations come in the form of Dojo commands. On the Azimuth side, operations happen by making changes to smart-contracts on the blockchain via a point.
13+
14+## Powers of a Star
15+
16+Stars are above planets in the network hierarchy in the sense that each star sponsors some number of planets: stars discover peers for planets, route packets for planets, provide DNS routing for planets, and push software updates to planets. A star that fulfills this is called the *sponsor* of planets that receive such services from the star; those planets, in turn, are called *dependents* of that star.
17+
18+Stars are also the "parents" planets. A new planet comes into existence only when spawned by a parent star. A parent planet is the sponsor of its children planets by default. This can change if a planet chooses to find a new sponsor (see the "Escaping a Sponsor" section below).
19+
20+Planets must have a sponsor star to use most features of the Arvo network. A planet cannot boot without a sponsor, and cannot make new connections to peers as long as it is not connected to a sponsor. Sponsorless planets will still be able to message discovered peers until such any such peers change their IP addresses.
21+
22+## Responsibilities
23+
24+Like with real-life infrastructure, the operation of Arvo infrastructure comes with unique responsibilities. For reasons stated above, stars should be always be online on a reliable cloud service, such as Amazon Web Services or Google Cloud Platform. These systems have layers of redundancies that make them much more resilient than local machines, so stars hosted on the cloud are unlikely to leave their dependents in the dark.
25+
26+## Operations
27+
28+Below are some handy operations for the use and maintenance of your star.
29+
30+### DNS Proxying
31+
32+You star is not aware of its own IP address by default. This means its dependent planets won't get DNS routing.
33+
34+To provide DNS routing to your star's dependents, you need to set your star's IP address.
35+
36++ Wait for the initial post-boot sync to succeed.
37++ Enter `:dns|ip` into the Dojo.
38++ The dojo will prompt you to enter something. Enter your IP address here.
39+
40+### Maintaining Connectivity
41+
42+Occasionally, your star might lose network connectivity due to a known timer issue. When this happens, enter the `|bonk` command in the Dojo to reset the timer and restore connectivity.
43+
44+### Escaping a Sponsor
45+
46+Planets are, of course, able to change sponsors. To do this, they must request that a different star takes them on a dependent and that planet must accept the request. Planets cannot emancipate themselves from a sponsor without having a new sponsor lined up.
47+
48+All of these actions happen on Azimuth. There will be Bridge functionality to handle these actions in the future, but for now users will need to interact directly with the contracts with MetaMask, through services such as [Etherscan.io](https://etherscan.io/address/ecliptic.eth#writeContract). A sketch of the process is listed below; for now, only the Ethereum-savvy should act on these steps.
49+
50++ The planet calls the `escape` function in the Ecliptic contract and writes the resulting data to the blockchain.
51++ If the chosen star wants to become the planet's sponsor, it calls the `adopt` function in the Ecliptic contract.
52++ The Arvo network notices the change, and the operation is complete.