on master help sign in
IA restructure as of ~2019.10.9
c592f6bMatilde Park
content/contributing.mddeleted−114
@@ -1,114 +0,0 @@
1−+++
2−title = "Contributing"
3−template = "page_indiced.html"
4−+++
5−
6−## How can I contribute? {#how}
7−
8−The Urbit project is a global community of developers, users, and fans. If you’re interested in getting involved, there’s space for you; you don’t have to be a developer to be a part of the project.
9−
10−### Developer contributions
11−
12−If you *are* a developer, then you’ll want to get started either in core development or application development. For core developers, the Arvo operating system has contribution opportunities for operating system developers; programming language creators; and smart contracts experts, among others.
13−
14−If you have experience writing user-facing applications, you’ll most likely be interested in writing your peer-to-peer applications on Urbit.
15−
16−Either way, you should check out our [Developer Guide](@/develop.md).
17−
18−### Running stars and galaxies
19−
20−There are two ways to participate in the Arvo network: as a user running a planet and as an infrastructure provider running a galaxy or a star.
21−
22−For planets, Urbit is a peer-to-peer network where users can interact with each other via Landscape, or using custom applications that anyone can write.
23−
24−Running a planet helps build Urbit’s community, surfaces bugs, and helps core developers improve Urbit under realistic conditions.
25−
26−Stars and galaxies, however, have additional responsibilities and play a role in peer discovery as well as star and planet distribution. You can think of stars and galaxies as similar to the DNS system in the modern Internet. Most users don’t know it exists, but without it, the web wouldn’t work at all.
27−
28−Running a reliable galaxy or star, and spawning stars and planets from them, are excellent ways to help bootstrap the Urbit network.
29−
30−If you’re interested in running a galaxy or star, you’ll be reliably providing peer discovery for your children just by running your node – and we’re doing our best to make this both easy and profitable. If you’re interested in this, see [Operating Galaxies and Stars](#galaxies-and-stars) below.
31−
32−If you’re interested in distributing planets, read on.
33−
34−### Distribute points
35−
36−Want to get your friends and family into Urbit? Distribute planets using Bridge with a feature called **delegated sending**.
37−
38−Here’s how it works: any star can grant a number of invites to any of its child planets. Those planets can then send one-time-use invite codes via email to anyone of their choosing.
39−
40−For instructions on how to grant and send invites, check out [Using Bridge](@/operations.md#using-bridge).
41−
42−## Operating Galaxies and Stars {#galaxies-and-stars}
43−
44−To boot your galaxy or star, follow our [installation instructions](@/install.md).
45−
46−### Hosting your star
47−
48−If you plan to distribute planets in any capacity, you must keep your star running. If you fail to do so, those planets will become orphans that are unable to communicate with the network.
49−
50−To make this as simple as possible, we’re building Terraform-based tooling for star and planet hosting via Google Cloud Platform. Once it’s ready we’ll open source the tooling so you can host stars and planets for yourself and others.
51−
52−In the meantime, there are [existing instructions](@/install.md) for those familiar with booting a Linux instance on GCP, AWS, Digital Ocean, etc.
53−
54−### Distributing planets
55−
56−You can distribute planets from your star via [Bridge](https://bridge.urbit.org/). As a reminder if you do distribute planets, please boot and run your star on the Arvo network, otherwise those planets won't be able to connect, which has a negative effect on the network as a whole, as orphan planets are left with very limited functionality.
57−
58−### Software updates
59−
60−By default, your star accepts software updates from its galaxy and routes them to its planets. You can use this mechanism to push custom software to your planets. Keep in mind that planets expect functional, non-breaking software updates, and generally want to be able to communicate with planets that are sponsored by other stars.
61−
62−#### Breaches
63−
64−To ensure new planets can connect to your ship, users are expected to participate in network-wide breaches by [updating to the latest Urbit version](@/install.md), deleting (or archiving) your pier, and then booting your ship using the new binary. If you don’t participate, you won’t be able to communicate with anyone on the network who has updated to the new era.
65−
66−Network-wide breaches are distinct from personal breaches, wherein an individual ship cycles its personal network keys using bridge, and then follows the same steps outlined above.
67−
68−### Star-owner etiquette
69−
70−- If you distribute planets, boot and run your star on the Arvo network, or the planets won't be able to boot for the first time or connect.
71−- A star is networking infrastructure. For that reason, the machine running your star or galaxy must have sufficient bandwidth and processing power for your dependent planets.
72−- When messaging others, communicate using your star only when speaking in an official/infrastructural capacity. Otherwise, use your personal planet.
73−
74−
75−### Taxes
76−
77−Urbit address space has value, which means the distribution of address space has tax implications. You should speak with your tax advisor about these implications.
78−
79−
80−### What to expect from Tlon
81−
82−#### Contributor calls
83−
84−We host regular contributor calls where you can discuss the technical matters of Urbit with Tlon engineers and community developers. We’d love for you to join; If you’re interested, please email support@urbit.org.
85−
86−#### The urbit-dev mailing list
87−
88−Those interested in developing on Urbit are encouraged to add themselves to [the urbit-dev mailing list](https://groups.google.com/a/urbit.org/forum/#!forum/dev).
89−
90−#### Support
91−
92−We are a small team, but we do our best to answer support related inquiries. Please email us at [support@urbit.org](mailto:support@urbit.org) with questions.
93−
94−#### Roadmap for further development
95−
96−We periodically publish our ongoing development roadmap. You can find the latest [here](https://urbit.org/posts/2019-10-3-roadmap/).
97−
98−## Governance {#governance}
99−
100−Our goal is to design Urbit simply, such that as many decisions as possible are made by the architecture of the system itself – that is, code should be law whenever possible. Code can’t anticipate every eventuality, however, and so the system design must include mechanisms that allow decisions to be made outside of the code.
101−
102−Within Urbit, this form of governance is conducted by two groups: the senate of galaxies, and the body of core developers. The senate of galaxies is empowered to make changes to the solidity contracts which define Azimuth, Urbit’s PKI, by majority vote. This process is defined by the contracts themselves.
103−
104−An owner of a galaxy (or a delegate) can propose a new iteration of the contract logic. The proposal can then be voted on for a period of thirty days. Once that period is over, if at least a quarter of the galaxies has voted, and the majority is in favor, the old logic contract will hand over the reigns to the new one.
105−
106−In a similar process, document hashes can be proposed. While their off-chain documents can't be "technically enforced", this mechanism is useful for the Senate to record more abstract decisions.
107−
108−For off-chain process around proposals, as suggested by core developers, please see [senate.md](https://github.com/urbit/azimuth/blob/master/senate.md).
109−
110−The group of core developers manages Urbit’s [GitHub repository](https://github.com/urbit/), which controls Arvo, Urbit’s operating system. Changes and upgrades are decided upon by consensus.
111−
112−You can participate in the governance of the senate by acquiring a galaxy. If you would like to be involved with the governance of Arvo, check out our [developer guide](@/develop.md) to learn how you can contribute to core development.
113−
114−
content/faq.md+7−5
@@ -1,6 +1,8 @@
1+++
1+++
2title = "FAQ"
2title = "FAQ"
3template = "page_indiced.html"
3template = "page_indiced.html"
4+[extra]
5+hidetitle = "true"
4+++
6+++
5
7
6## Urbit
8## Urbit
@@ -261,7 +263,7 @@ All events are logged to disk, so you can always restore the system to a previou
261
263
262When an Arvo ship (instance) is started for the first time, you must use a "keyfile" containing the private keys for your identity's networking keys. Urbit ID uses the Ethereum blockchain as its decentralized ledger.
264When an Arvo ship (instance) is started for the first time, you must use a "keyfile" containing the private keys for your identity's networking keys. Urbit ID uses the Ethereum blockchain as its decentralized ledger.
263
265
264−See our [Getting Started](@/install.md) guide to learn how to get your ship onto the Urbit OS / Arvo network.
266+See our [Getting Started](@/using/install.md) guide to learn how to get your ship onto the Urbit OS / Arvo network.
265
267
266### Will the Urbit OS network survive if Ethereum dies? {#if-ethereum-dies}
268### Will the Urbit OS network survive if Ethereum dies? {#if-ethereum-dies}
267
269
@@ -269,11 +271,11 @@ Yes. It would be annoying, but Urbit ID / Azimuth could be ported to another dec
269
271
270### How do I install Urbit OS? {#install-urbit-os}
272### How do I install Urbit OS? {#install-urbit-os}
271
273
272−Check out our guides [here](@/install.md).
274+Check out our guides [here](@/using/install.md).
273
275
274### How do I use Urbit OS? {#use-urbit-os}
276### How do I use Urbit OS? {#use-urbit-os}
275
277
276−The [Using](@/operations.md) section of the documentation will help you out.
278+The [Using](@/using/operations/_index.md) section of the documentation will help you out.
277
279
278### How do over-the-air updates work? {#over-the-air-updates}
280### How do over-the-air updates work? {#over-the-air-updates}
279
281
@@ -285,9 +287,9 @@ Landscape is an experimental Urbit OS web interface that includes social functio
285
287
286### I have an Urbit ID, now what? {#now-what}
288### I have an Urbit ID, now what? {#now-what}
287
289
288−Follow our guide on how to boot a ship [here](@/install.md).
290+Follow our guide on how to boot a ship [here](@/using/install.md).
289
291
290−Get on the [mailing list](/../#mc_embed_signup). Learn [Hoon](@/docs/hoon/_index.md). Sign up for [Hoon School](@/hoonschool.md). [Make stuff](@/install.md).
292+Get on the [mailing list](/../#mc_embed_signup). Learn [Hoon](@/docs/hoon/_index.md). Sign up for [Hoon School](@/hoonschool.md). [Make stuff](@/using/install.md).
291
293
292
294
293## Urbit Grants
295## Urbit Grants
content/governance.mdnew file+21
@@ -0,0 +1,21 @@
1++++
2+title = "Governance"
3+[extra]
4+hidetitle = "true"
5++++
6+
7+Our goal is to design Urbit simply, such that as many decisions as possible are made by the architecture of the system itself – that is, code should be law whenever possible. Code can’t anticipate every eventuality, however, and so the system design must include mechanisms that allow decisions to be made outside of the code.
8+
9+Within Urbit, this form of governance is conducted by two groups: the senate of galaxies, and the body of core developers. The senate of galaxies is empowered to make changes to the solidity contracts which define Azimuth, Urbit’s PKI, by majority vote. This process is defined by the contracts themselves.
10+
11+An owner of a galaxy (or a delegate) can propose a new iteration of the contract logic. The proposal can then be voted on for a period of thirty days. Once that period is over, if at least a quarter of the galaxies has voted, and the majority is in favor, the old logic contract will hand over the reigns to the new one.
12+
13+In a similar process, document hashes can be proposed. While their off-chain documents can't be "technically enforced", this mechanism is useful for the Senate to record more abstract decisions.
14+
15+For off-chain process around proposals, as suggested by core developers, please see [senate.md](https://github.com/urbit/azimuth/blob/master/senate.md).
16+
17+The group of core developers manages Urbit’s [GitHub repository](https://github.com/urbit/), which controls Arvo, Urbit’s operating system. Changes and upgrades are decided upon by consensus.
18+
19+You can participate in the governance of the senate by acquiring a galaxy. If you would like to be involved with the governance of Arvo, check out our [developer guide](@/using/develop.md) to learn how you can contribute to core development.
20+
21+
content/understanding-urbit/project-history.md+1−1
@@ -16,7 +16,7 @@ You can interact with your Urbit ID and invite friends using [Bridge](https://br
16
16
17{{ oversize(url="https://media.urbit.org/site/understanding-urbit/project-history/project-history-03%402x.png")}}
17{{ oversize(url="https://media.urbit.org/site/understanding-urbit/project-history/project-history-03%402x.png")}}
18
18
19−Urbit OS is a solid alpha. We use it every day to coordinate and chat about the future of Urbit. You’re [welcome to join](@/install.md). Our standards are high, so we aren’t asking everyone to use Urbit OS yet. If you’re someone who wants to customize their own software and experiment with a new system, [check it out](@/install.md). Otherwise, [join the mailing list](https://urbit.us11.list-manage.com/subscribe/post?u=972a03db9e0c6c25bb58de8c8&id=be143888d2). We have exciting things planned for 2020.
19+Urbit OS is a solid alpha. We use it every day to coordinate and chat about the future of Urbit. You’re [welcome to join](@/using/install.md). Our standards are high, so we aren’t asking everyone to use Urbit OS yet. If you’re someone who wants to customize their own software and experiment with a new system, [check it out](@/using/install.md). Otherwise, [join the mailing list](https://urbit.us11.list-manage.com/subscribe/post?u=972a03db9e0c6c25bb58de8c8&id=be143888d2). We have exciting things planned for 2020.
20
20
21Urbit OS isn’t just an interface — it’s a complete system. You should also check out the [GitHub repository](https://github.com/urbit/urbit), our [open grants program](https://grants.urbit.org) and the [documentation](@/docs/_index.md).Building a system from scratch is a huge and enormously fun undertaking. There’s a lot going on, and we do all our development in public. Systems programmers, functional programming nerds, anyone who wants to tinker with their software will probably love playing with Urbit.
21Urbit OS isn’t just an interface — it’s a complete system. You should also check out the [GitHub repository](https://github.com/urbit/urbit), our [open grants program](https://grants.urbit.org) and the [documentation](@/docs/_index.md).Building a system from scratch is a huge and enormously fun undertaking. There’s a lot going on, and we do all our development in public. Systems programmers, functional programming nerds, anyone who wants to tinker with their software will probably love playing with Urbit.
22
22
content/using/_index.mdnew file+5
@@ -0,0 +1,5 @@
1++++
2+title = "Using"
3+sort_by = "weight"
4+template = "list.html"
5++++
content/develop.md → content/using/develop.mdrenamed+34−4
@@ -1,5 +1,7 @@
1+++
1+++
2−title = "Develop"
2+title = "Developer's Guide"
3+description = "How to get started developing on Urbit."
4+weight = 3
3template = "page_indiced.html"
5template = "page_indiced.html"
4+++
6+++
5
7
@@ -11,7 +13,7 @@ This guide will start by getting you set up to run an Urbit ship, and then tell
11
13
12We assume you’ve gotten a basic introduction to Urbit. If you haven’t, read the [Understanding Urbit](@/understanding-urbit/_index.md) series, or just jump ahead to the [Technical Overview](@/understanding-urbit/technical-overview.md).
14We assume you’ve gotten a basic introduction to Urbit. If you haven’t, read the [Understanding Urbit](@/understanding-urbit/_index.md) series, or just jump ahead to the [Technical Overview](@/understanding-urbit/technical-overview.md).
13
15
14−Once you’re ready, you can get started on the network right away and take some first steps, without acquiring an identity, by [creating a comet](@/operations.md#creating-a-comet).
16+Once you’re ready, you can get started on the network right away and take some first steps, without acquiring an identity, by [creating a comet](@/using/operations/creating-a-comet.md).
15
17
16When developing, however, we recommend [booting a development ship](#creating-a-development-ship) and working locally -- you may need to make changes that could, in the wrong hands, destroy the ship’s environment, and it’s best to do so in a safe, separate place.
18When developing, however, we recommend [booting a development ship](#creating-a-development-ship) and working locally -- you may need to make changes that could, in the wrong hands, destroy the ship’s environment, and it’s best to do so in a safe, separate place.
17
19
@@ -42,7 +44,7 @@ If you want to see examples of Urbit applications with common functionality requ
42
44
43To do work with Hoon and with the system, we recommended using a "fake" ship -- one not connected to the network.
45To do work with Hoon and with the system, we recommended using a "fake" ship -- one not connected to the network.
44
46
45−Because such a ship has no presence on the network, you don't need an Azimuth identity for its purposes. You just need to have [installed our software](/install).
47+Because such a ship has no presence on the network, you don't need an Azimuth identity for its purposes. You just need to have [installed our software](/using/install).
46
48
47To create a fake ship named `~zod`, run the command below. You can replace `zod` with any valid Urbit ship-name.
49To create a fake ship named `~zod`, run the command below. You can replace `zod` with any valid Urbit ship-name.
48
50
@@ -62,4 +64,32 @@ Here are some tutorials written by members of the Urbit community. Some are a li
62- [A Nock Interpreter](https://jtobin.io/nock) by `~nidsut-tomdun`
64- [A Nock Interpreter](https://jtobin.io/nock) by `~nidsut-tomdun`
63- [Basic Hoonery](https://jtobin.io/basic-hoonery) by `~nidsut-tomdun`
65- [Basic Hoonery](https://jtobin.io/basic-hoonery) by `~nidsut-tomdun`
64
66
65−If you want to add something to the list, [shoot us an email](mailto:support@urbit.org) or make a pull request in the [docs repository](https://github.com/urbit/docs).
67+If you want to add something to the list, [shoot us an email](mailto:support@urbit.org) or make a pull request in the [docs repository](https://github.com/urbit/docs).
68+
69+## How else can I contribute? {#how}
70+
71+The Urbit project is a global community of developers, users, and fans. If you’re interested in getting involved, there’s space for you; you don’t have to be a developer to be a part of the project.
72+
73+### Running stars and galaxies
74+
75+There are two ways to participate in the Arvo network: as a user running a planet and as an infrastructure provider running a galaxy or a star.
76+
77+For planets, Urbit is a peer-to-peer network where users can interact with each other via Landscape, or using custom applications that anyone can write.
78+
79+Running a planet helps build Urbit’s community, surfaces bugs, and helps core developers improve Urbit under realistic conditions.
80+
81+Stars and galaxies, however, have additional responsibilities and play a role in peer discovery as well as star and planet distribution. You can think of stars and galaxies as similar to the DNS system in the modern Internet. Most users don’t know it exists, but without it, the web wouldn’t work at all.
82+
83+Running a reliable galaxy or star, and spawning stars and planets from them, are excellent ways to help bootstrap the Urbit network.
84+
85+If you’re interested in running a galaxy or star, you’ll be reliably providing peer discovery for your children just by running your node – and we’re doing our best to make this both easy and profitable. If you’re interested in this, see [Star and Galaxy Operations](/using/operations/stars-and-galaxies.md).
86+
87+If you’re interested in distributing planets, read on.
88+
89+### Distribute points
90+
91+Want to get your friends and family into Urbit? Distribute planets using Bridge with a feature called **delegated sending**.
92+
93+Here’s how it works: any star can grant a number of invites to any of its child planets. Those planets can then send one-time-use invite codes via email to anyone of their choosing.
94+
95+For instructions on how to grant and send invites, check out [Using Bridge](@/using/operations/using-bridge.md).
content/install.md → content/using/install.mdrenamed+5−3
@@ -1,11 +1,13 @@
1+++
1+++
2−title = "Install"
2+title = "Install + Setup"
3+weight = 1
4+description = "How to install Urbit."
3template = "page_indiced.html"
5template = "page_indiced.html"
4+++
6+++
5
7
6−Urbit is not yet ready for wide use for everyday users -- but if you're technically inclined or generally intrepid, feel free to try it out. It's a good place to explore.
8+Urbit is not yet ready for everyday users -- but if you're technically inclined or generally intrepid, feel free to try it out. It's a good place to explore.
7
9
8−In order to get going on the network, you'll need an [Urbit ID](#id). To try the live network out with a disposable identity, you can always [create a comet](@/operations.md#creating-a-comet).
10+In order to get going on the network, you'll need an [Urbit ID](#id). To try the live network out with a disposable identity, you can always [create a comet](@/using/operations/creating-a-comet.md).
9
11
10## Getting an Urbit ID {#id}
12## Getting an Urbit ID {#id}
11
13
content/using/operations/_index.mdnew file+7
@@ -0,0 +1,7 @@
1++++
2+title = "Operations Manual"
3+description = "Instructions on how to use Bridge, your Urbit ship, Stars and Galaxies, and more."
4+sort_by = "weight"
5+weight = 2
6+template = "list.html"
7++++
content/using/operations/creating-a-comet.mdnew file+29
@@ -0,0 +1,29 @@
1++++
2+title = "Creating a Comet"
3+descriptions = "Comets are disposable identities you can use on the live network."
4+weight = 4
5++++
6+
7+**Comets** are Urbits whose names are 128-bits or 16 syllables, such as:
8+
9+`~dasres-ragnep-lislyt-ribpyl--mosnyx-bisdem-nidful-marzod`
10+
11+Comet names aren't quite as memorable as others, but they're disposable identities that anyone can make for free to join the live network.
12+
13+### Booting a comet
14+
15+To boot your comet, go into the command line and run the following command from the directory that was created during Urbit installation:
16+
17+```sh
18+$ ./urbit -c mycomet
19+```
20+
21+This will take a few minutes and will spin out a bunch of boot messages. Toward the end, you'll see something like:
22+
23+```
24+ames: on localhost, UDP 31337.
25+http: live (insecure, public) on 8080
26+http: live ("secure", public) on 8443
27+http: live (insecure, loopback) on 12321
28+~dasres_marzod:dojo>
29+```
content/using/operations/stars-and-galaxies.mdnew file+41
@@ -0,0 +1,41 @@
1++++
2+title = "Star and Galaxy Operations"
3+descriptions = "Additional information and suggested ettiquette for Star and Galaxy owners."
4+weight = 3
5+template = "page_indiced.html"
6++++
7+
8+To boot your galaxy or star, follow our [installation instructions](@/using/install.md).
9+
10+### Hosting your star
11+
12+If you plan to distribute planets in any capacity, you must keep your star running. If you fail to do so, those planets will become orphans that are unable to communicate with the network.
13+
14+To make this as simple as possible, we’re building Terraform-based tooling for star and planet hosting via Google Cloud Platform. Once it’s ready we’ll open source the tooling so you can host stars and planets for yourself and others.
15+
16+In the meantime, there are [existing instructions](@/using/install.md) for those familiar with booting a Linux instance on GCP, AWS, Digital Ocean, etc.
17+
18+### Distributing planets
19+
20+You can distribute planets from your star via [Bridge](https://bridge.urbit.org/). As a reminder if you do distribute planets, please boot and run your star on the Arvo network, otherwise those planets won't be able to connect, which has a negative effect on the network as a whole, as orphan planets are left with very limited functionality.
21+
22+### Software updates
23+
24+By default, your star accepts software updates from its galaxy and routes them to its planets. You can use this mechanism to push custom software to your planets. Keep in mind that planets expect functional, non-breaking software updates, and generally want to be able to communicate with planets that are sponsored by other stars.
25+
26+#### Breaches
27+
28+To ensure new planets can connect to your ship, users are expected to participate in network-wide breaches by [updating to the latest Urbit version](@/using/install.md), deleting (or archiving) your pier, and then booting your ship using the new binary. If you don’t participate, you won’t be able to communicate with anyone on the network who has updated to the new era.
29+
30+Network-wide breaches are distinct from personal breaches, wherein an individual ship cycles its personal network keys using bridge, and then follows the same steps outlined above.
31+
32+### Star-owner etiquette
33+
34+- If you distribute planets, boot and run your star on the Arvo network, or the planets won't be able to boot for the first time or connect.
35+- A star is networking infrastructure. For that reason, the machine running your star or galaxy must have sufficient bandwidth and processing power for your dependent planets.
36+- When messaging others, communicate using your star only when speaking in an official/infrastructural capacity. Otherwise, use your personal planet.
37+
38+### Taxes
39+
40+Urbit address space has value, which means the distribution of address space has tax implications. You should speak with your tax advisor about these implications.
41+
content/using/operations/using-bridge.mdnew file+64
@@ -0,0 +1,64 @@
1++++
2+title = "Using Bridge"
3+template = "page_indiced.html"
4+description = "How to use Bridge to interact with Azimuth and manage your Urbit ID."
5+weight = 1
6++++
7+
8+[Bridge](https://github.com/urbit/bridge) is the application we built for interacting with [Azimuth](https://azimuth.network), the Urbit PKI, and managing your Urbit ID. Importantly, Bridge also allows you to generate a keyfile that you will need to boot your ship so that it can use the Arvo network.
9+
10+This guide assumes that you have an Urbit ID, or that you have found someone to send an Urbit ID to your Ethereum address and are looking to claim it.
11+
12+### Online Bridge
13+
14+To connect to Bridge, go to [https://bridge.urbit.org](https://bridge.urbit.org) into your browser, and enter your identity's credentials in the appropriate fields. If you were invited to claim an Urbit ID, it's very likely that you received an email that would direct you to Bridge, and you can simply follow the hyperlink in that email.
15+
16+Once you arrive, proceed through the steps presented. You'll eventually arrive at a page with a few choices: `Invite`, `Admin`, and `Boot Arvo`. `Admin` is the only option that you're interested in right now; click on it. On the `Admin` page, click the `Download Arvo Keyfile` button. Once you have downloaded the keyfile, you can exit Bridge and proceed to [install the Urbit binary](@/using/install.md).
17+
18+### Offline Bridge
19+
20+Alternatively, Bridge can be run locally. It's more complicated, but we recommend this option for managing sufficiently valuable assets, such as several stars or more. To install local Bridge, navigate to the [release page on GitHub](https://github.com/urbit/bridge/releases/). Download the `.zip` file of the latest version. After you download it, follow the instructions below.
21+
22+To use Bridge:
23+
24+- Unzip the .zip file that you downloaded (bridge-$version.zip).
25+- Open up your command line interface (Terminal on OSX, Command Prompt on Windows).
26+- Navigate to the bridge-$version directory, where $version is the appropriate version number.
27+- Run this command: `python3 -m http.server 5000 --bind 127.0.0.1.`
28+
29+You can then use the Bridge app by navigating to `http://localhost:5000` in your internet browser.
30+
31+Note: Bridge allows you to both make reads and writes to the Ethereum blockchain. Writing to the blockchain, such as changing your networking keys, will incur a transaction cost that will require you to have some ETH in your address.
32+
33+Once the program is running in your browser, go through the steps presented according to the type of wallet you have. You’ll be presented with a few login options. A notable option is Urbit Master Ticket. This is for those who used our Wallet Generator software. If you bought points from an Urbit sale and then used the Wallet Generator, your networking keys will be set for you. All other login options will require you to set your own networking keys.
34+
35+### Accept your transfer
36+
37+If you were given points by Tlon you likely already fully own them. But if someone else sent you a point, then you will first need to use Bridge to accept that transfer.
38+
39+After you access your Ethereum address, if a point was sent to that address, you'll come to a page that has an `Incoming Transfers` header, under which is a graphic. Click the `Details ->` link under that graphic.
40+
41+Now you'll be on the management page of your point. The transfer isn't completed yet, so click `Accept incoming transfer`. Then check both boxes and and click their associated `Sign Transaction` and `Send Transaction` buttons.
42+
43+If you already own a point, click on the `Details ->` under your sigil in the `Your Points` section.
44+
45+### Set your networking keys
46+
47+If you just accepted a point, you'll be returned to your point screen. Notice that that links and buttons are now clickable. You now own this point!
48+
49+Click the link that says `Set network keys`. The field presented in the resulting page expects a 32-byte hexadecimal string. If it's filled already, no action is required. If it is empty, you will need to generate such a string. You can generate this data any way you please, but in the terminal on MacOS or Linux, you can write
50+
51+```sh
52+hexdump -n 32 -e '4/4 "%08X"' /dev/random
53+```
54+
55+and use the result.
56+
57+It should be noted that setting your network keys is an event on the Ethereum network and will therefore cost a trivial, but non-zero, amount of [gas](https://github.com/ethereum/wiki/wiki/Design-Rationale#gas-and-fees) to complete.
58+
59+### Generate your keyfile
60+
61+From the detail page associated with your point, click the `Generate Arvo Keyfile` link and you'll be taken to a page with a field titled `Network seed`. This field should already be filled in, and should match the hexadecimal string that you entered in the previous step. If it's not filled in or does not match, fill it in with the correct string.
62+Click `Generate ->`, which will download a keyfile onto your machine.
63+
64+With that keyfile in hand, you can now exit Bridge and continue to the guide to [install the Urbit binary](@/using/install.md).
content/operations.md → content/using/operations/using-your-ship.mdrenamed+31−117
@@ -1,70 +1,60 @@
1+++
1+++
2−title = "Operations"
2+title = "Using Your Ship"
3+description = "How to operate your ship, including using your ship's filesystem and messaging applications, starting a moon, or requesting a DNS proxy."
3template = "page_indiced.html"
4template = "page_indiced.html"
4−slug = "/operations/"
5+weight = 2
5+++
6+++
6
7
7−## Using Bridge {#using-bridge}
8+## DNS proxying {#dns-proxying}
8−
9−[Bridge](https://github.com/urbit/bridge) is the application we built for interacting with [Azimuth](https://azimuth.network), the Urbit PKI, and managing your Urbit ID. Importantly, Bridge also allows you to generate a keyfile that you will need to boot your ship so that it can use the Arvo network.
10−
11−This guide assumes that you have an Urbit ID, or that you have found someone to send an Urbit ID to your Ethereum address and are looking to claim it.
12−
13−### Online Bridge
14−
15−To connect to Bridge, go to [https://bridge.urbit.org](https://bridge.urbit.org) into your browser, and enter your identity's credentials in the appropriate fields. If you were invited to claim an Urbit ID, it's very likely that you received an email that would direct you to Bridge, and you can simply follow the hyperlink in that email.
16−
17−Once you arrive, proceed through the steps presented. You'll eventually arrive at a page with a few choices: `Invite`, `Admin`, and `Boot Arvo`. `Admin` is the only option that you're interested in right now; click on it. On the `Admin` page, click the `Download Arvo Keyfile` button. Once you have downloaded the keyfile, you can exit Bridge and proceed to [install the Urbit binary](@/install.md).
18
9
19−### Offline Bridge
10+We have a system that lets you request a domain name for your ship in the form of `ship.arvo.network`, where `ship` is your ship's name minus the `~`. This allows users to access their ships remotely using Landscape, our graphical web interface.
20
11
21−Alternatively, Bridge can be run locally. It's more complicated, but we recommend this option for managing sufficiently valuable assets, such as several stars or more. To install local Bridge, navigate to the [release page on GitHub](https://github.com/urbit/bridge/releases/). Download the `.zip` file of the latest version. After you download it, follow the instructions below.
12+Stars and planets follow the same process DNS proxying process, and galaxies have their own requirements. Moons and comets are not supported.
22
13
23−To use Bridge:
14+### Planets and Stars
24
15
25−- Unzip the .zip file that you downloaded (bridge-$version.zip).
16+For a planet or star's DNS proxying request to be made and fulfilled, they must be hosting their ship someplace with a public IP address, and its HTTP server must be listening on port 80.
26−- Open up your command line interface (Terminal on OSX, Command Prompt on Windows).
27−- Navigate to the bridge-$version directory, where $version is the appropriate version number.
28−- Run this command: `python3 -m http.server 5000 --bind 127.0.0.1.`
29
17
30−You can then use the Bridge app by navigating to `http://localhost:5000` in your internet browser.
18+To get `ship.arvo.network` on a planet or star, you must set up DNS routing with its parent ship by starting the `:dns` app.
31
19
32−Note: Bridge allows you to both make reads and writes to the Ethereum blockchain. Writing to the blockchain, such as changing your networking keys, will incur a transaction cost that will require you to have some ETH in your address.
20+To do so, simply run this command in your ship's Dojo:
33
21
34−Once the program is running in your browser, go through the steps presented according to the type of wallet you have. You’ll be presented with a few login options. A notable option is Urbit Master Ticket. This is for those who used our Wallet Generator software. If you bought points from an Urbit sale and then used the Wallet Generator, your networking keys will be set for you. All other login options will require you to set your own networking keys.
22+```
23+> :dns|request
24+```
35
25
36−### Accept your transfer
26+You'll then be prompted to enter the public IP address of your ship. You can also pass the IP address as an argument, using the .0.0.0.0 (`@if`) syntax. For example:
37
27
38−If you were given points by Tlon you likely already fully own them. But if someone else sent you a point, then you will first need to use Bridge to accept that transfer.
28+```
29+> :dns|request .1.2.3.4
30+```
39
31
40−After you access your Ethereum address, if a point was sent to that address, you'll come to a page that has an `Incoming Transfers` header, under which is a graphic. Click the `Details ->` link under that graphic.
32+`:dns`, running locally, will make an HTTP request to that IP address on port 80 to confirm that it is itself available at that IP and port. If that fails, you'll receive a `%bail-early` message in `:chat-cli`; this request will retry a few times. If the self-check is successful, the request is relayed to `~zod`, and you'll receive a message saying, `request for DNS sent to ~zod`. Once `~zod` has acknowledged receipt of the request, your local `:dns` app will send a `:chat-cli` message saying `awaiting response from ~zod`.
41
33
42−Now you'll be on the management page of your point. The transfer isn't completed yet, so click `Accept incoming transfer`. Then check both boxes and and click their associated `Sign Transaction` and `Send Transaction` buttons.
34+The request will be picked up shortly, and the `ship.arvo.network` DNS record will be set to the given IP address. Once that's set up, `~zod` will be notified and `~zod` will, in turn, notify your ship. That ship will now try to verify that it can reach itself on `ship.arvo.network` over port 80. If it can't, it'll send a message saying, `unable to access via ship.arvo.network`. If it can, it will configure itself with that domain and say `confirmed access via ship.arvo.network`.
43
35
44−If you already own a point, click on the `Details ->` under your sigil in the `Your Points` section.
36+Great! You're set up now. Try accessing your `ship.arvo.network` in your browser to use Landscape; we recommend Chrome or Brave.
45
37
46−### Set your networking keys
38+### Galaxies
47
39
48−If you just accepted a point, you'll be returned to your point screen. Notice that that links and buttons are now clickable. You now own this point!
40+Galaxies are already required to have separate DNS entry at galaxy.urbit.org. There's no automated process for getting that binding, so if you're a galaxy-holder, get in touch with us at support@urbit.org.
49
41
50−Click the link that says `Set network keys`. The field presented in the resulting page expects a 32-byte hexadecimal string. If it's filled already, no action is required. If it is empty, you will need to generate such a string. You can generate this data any way you please, but in the terminal on MacOS or Linux, you can write
42+There is a command for galaxies that will try to re-use their already-necessary Ames DNS entry for HTTPS:
51
43
52−```sh
44+```
53−hexdump -n 32 -e '4/4 "%08X"' /dev/random
45+> :dns|auto
54```
46```
55
47
56−and use the result.
48+This will make HTTP-requests to self-check availability over `galaxy.$AMES-DOMAIN` (currently galaxy.urbit.org), where `galaxy` is the galaxy's name minus the `~`.
57
49
58−It should be noted that setting your network keys is an event on the Ethereum network and will therefore cost a trivial, but non-zero, amount of [gas](https://github.com/ethereum/wiki/wiki/Design-Rationale#gas-and-fees) to complete.
50+Otherwise, `:dns|auto` works the same as `:dns|ip` does with stars and planets: if it's available or unavailable, Chat messages, and so on.
59
51
60−### Generate your keyfile
52+### More information
61
53
62−From the detail page associated with your point, click the `Generate Arvo Keyfile` link and you'll be taken to a page with a field titled `Network seed`. This field should already be filled in, and should match the hexadecimal string that you entered in the previous step. If it's not filled in or does not match, fill it in with the correct string.
54+Configuring a ship's domain causes the `:acme` app to request an HTTPS certificate for that domain from LetsEncrypt. Note that LetsEncrypt also requires that the HTTP server be listening on port 80. If the certificate request fails, `:acme` will send a `:chat-cli` message with an explanation. Once the certificate is successfully retrieved, `:acme` will install it, causing the HTTP servers to restart. A secure server will be started on port 443 (the HTTPS default) if it's available. Otherwise, it will try 8443, and then increment to the next port until it can successfully bind one.
63−Click `Generate ->`, which will download a keyfile onto your machine.
64
55
65−With that keyfile in hand, you can now exit Bridge and continue to the guide to [install the Urbit binary](@/install.md).
56+The built-in logic for listening on port 80 is similar. Urbit tries to bind port 80; if it cannot, it tries 8080, then increments until it can bind a port. Port 80 is available to unprivileged process on recent version of macOS. Otherwise, the process needs to either be run as root, or be given special permission (CAP\_NET_BIND on Linux).
66
57
67−## Using your ship {#urbit-administration}
68
58
69Your urbit (also called your _ship_) is a persistent Unix process that you mainly control from the console.
59Your urbit (also called your _ship_) is a persistent Unix process that you mainly control from the console.
70
60
@@ -201,7 +191,7 @@ moon: ~faswep-navred-sampel-palnet
201
191
202`<keyfile>` will be at `path/to/sampel-palnet/.urb/put/moon.key` and does not need editing to be used with the `-k` option.
192`<keyfile>` will be at `path/to/sampel-palnet/.urb/put/moon.key` and does not need editing to be used with the `-k` option.
203
193
204−You can use the resulting output in the same installation flow from the [Installing Urbit](@/install.md) guide, following the same scheme as for booting a planet. That scheme is:
194+You can use the resulting output in the same installation flow from the [Installing Urbit](@/using/install.md) guide, following the same scheme as for booting a planet. That scheme is:
205
195
206```sh
196```sh
207$ ./urbit -w <moonname> -G <key> -c <piername>
197$ ./urbit -w <moonname> -G <key> -c <piername>
@@ -238,82 +228,6 @@ Because Urbit networking is stateful we call this a _continuity breach_. Everyth
238
228
239When this happens, back up any files you'd like to save, shut down your urbit, and recreate it (as if you were starting for the first time).
229When this happens, back up any files you'd like to save, shut down your urbit, and recreate it (as if you were starting for the first time).
240
230
241−## Creating a comet {#creating-a-comet}
242−
243−**Comets** are urbits whose names are 128-bits or 16 syllables, such as:
244−
245−`~dasres-ragnep-lislyt-ribpyl--mosnyx-bisdem-nidful-marzod`
246−
247−Comet names aren't quite as memorable as others, but they're disposable identities that anyone can make for free to join the live network.
248−
249−### Booting a comet
250−
251−To boot your comet, go into the command line and run the following command from the directory that was created during Urbit installation:
252−
253−```sh
254−$ ./urbit -c mycomet
255−```
256−
257−This will take a few minutes and will spin out a bunch of boot messages. Toward the end, you'll see something like:
258−
259−```
260−ames: on localhost, UDP 31337.
261−http: live (insecure, public) on 8080
262−http: live ("secure", public) on 8443
263−http: live (insecure, loopback) on 12321
264−~dasres_marzod:dojo>
265−```
266−
267−## DNS proxying {#dns-proxying}
268−
269−We have a system that lets you request a domain name for your ship in the form of `ship.arvo.network`, where `ship` is your ship's name minus the `~`. This allows users to access their ships remotely using Landscape, our graphical web interface.
270−
271−Stars and planets follow the same process DNS proxying process, and galaxies have their own requirements. Moons and comets are not supported.
272−
273−### Planets and Stars
274−
275−For a planet or star's DNS proxying request to be made and fulfilled, they must be hosting their ship someplace with a public IP address, and its HTTP server must be listening on port 80.
276−
277−To get `ship.arvo.network` on a planet or star, you must set up DNS routing with its parent ship by starting the `:dns` app.
278−
279−To do so, simply run this command in your ship's Dojo:
280−
281−```
282−> :dns|request
283−```
284−
285−You'll then be prompted to enter the public IP address of your ship. You can also pass the IP address as an argument, using the .0.0.0.0 (`@if`) syntax. For example:
286−
287−```
288−> :dns|request .1.2.3.4
289−```
290−
291−`:dns`, running locally, will make an HTTP request to that IP address on port 80 to confirm that it is itself available at that IP and port. If that fails, you'll receive a `%bail-early` message in `:chat-cli`; this request will retry a few times. If the self-check is successful, the request is relayed to `~zod`, and you'll receive a message saying, `request for DNS sent to ~zod`. Once `~zod` has acknowledged receipt of the request, your local `:dns` app will send a `:chat-cli` message saying `awaiting response from ~zod`.
292−
293−The request will be picked up shortly, and the `ship.arvo.network` DNS record will be set to the given IP address. Once that's set up, `~zod` will be notified and `~zod` will, in turn, notify your ship. That ship will now try to verify that it can reach itself on `ship.arvo.network` over port 80. If it can't, it'll send a message saying, `unable to access via ship.arvo.network`. If it can, it will configure itself with that domain and say `confirmed access via ship.arvo.network`.
294−
295−Great! You're set up now. Try accessing your `ship.arvo.network` in your browser to use Landscape; we recommend Chrome or Brave.
296−
297−### Galaxies
298−
299−Galaxies are already required to have separate DNS entry at galaxy.urbit.org. There's no automated process for getting that binding, so if you're a galaxy-holder, get in touch with us at support@urbit.org.
300−
301−There is a command for galaxies that will try to re-use their already-necessary Ames DNS entry for HTTPS:
302−
303−```
304−> :dns|auto
305−```
306−
307−This will make HTTP-requests to self-check availability over `galaxy.$AMES-DOMAIN` (currently galaxy.urbit.org), where `galaxy` is the galaxy's name minus the `~`.
308−
309−Otherwise, `:dns|auto` works the same as `:dns|ip` does with stars and planets: if it's available or unavailable, Chat messages, and so on.
310−
311−### More information
312−
313−Configuring a ship's domain causes the `:acme` app to request an HTTPS certificate for that domain from LetsEncrypt. Note that LetsEncrypt also requires that the HTTP server be listening on port 80. If the certificate request fails, `:acme` will send a `:chat-cli` message with an explanation. Once the certificate is successfully retrieved, `:acme` will install it, causing the HTTP servers to restart. A secure server will be started on port 443 (the HTTPS default) if it's available. Otherwise, it will try 8443, and then increment to the next port until it can successfully bind one.
314−
315−The built-in logic for listening on port 80 is similar. Urbit tries to bind port 80; if it cannot, it tries 8080, then increments until it can bind a port. Port 80 is available to unprivileged process on recent version of macOS. Otherwise, the process needs to either be run as root, or be given special permission (CAP\_NET_BIND on Linux).
316−
317## Messaging {#messaging}
231## Messaging {#messaging}
318
232
319Let’s get started using the `:chat-cli` application, also known more simply as _Chat_. It's the simplest way to talk to people using the command line interface.
233Let’s get started using the `:chat-cli` application, also known more simply as _Chat_. It's the simplest way to talk to people using the command line interface.
content/what-is-urbit.mddeleted−10
@@ -1,10 +0,0 @@
1−+++
2−title = "What is Urbit?"
3−template = "page_indiced.html"
4−+++
5−
6−## Introduction {#introduction}
7−
8−## Interface {#interface}
9−
10−## Infrastructure {#infrastructure}
templates/list.htmlnew file+36
@@ -0,0 +1,36 @@
1+{% extends "base.html" %}
2+{% block title %} {{ section.title }} {% endblock title %}
3+{% block content %}
4+<!-- header -->
5+<nav class="mt4 full fourth-1-lg mb3 mb0-m mb0-l mb0-xl">
6+ <a class="gray3" href="/">Urbit</a>
7+ <span class="gray3"> / </span>
8+ <a href="/{{ section.components[0] }}{% if section.components[2] %}/{{ section.components[1] }}{% endif %}">
9+ {{ section.title }}
10+ </a>
11+ {% include "partials/navigation-search.html" %}
12+</nav>
13+<!-- content -->
14+<article class="mt4 mb7 c1-12 c4-12-lg">
15+ <ul class="posts">
16+ {% set posts = get_section(path=section.relative_path) %}
17+ {% for page in posts.pages %}
18+ <li class="mb4">
19+ <h2 class="f4 fw4 mt0 mb0"><a class="bb-0" href="{{ page.permalink }}">{{ page.title }}</a></h2>
20+ <p class="mt0">{{ page.description }}</p>
21+ <span class="mono f5">
22+ {% if page.extra.ship %}<address class="mono f5 ml2">{{ page.extra.ship }}</address> {% endif %}
23+ </span>
24+ </li>
25+ {% endfor %}
26+ {% for s in posts.subsections %}
27+ {% set subsection = get_section(path=s) %}
28+ <li class="mb4">
29+ <h2 class="f4 fw4 mt0 mb0"><a class="bb-0" href="{{ subsection.permalink }}">{{ subsection.title }}</a></h2>
30+ <p class="mt0">{{ subsection.description }}</p>
31+ </li>
32+ {% endfor %}
33+ </ul>
34+</article>
35+{% include "partials/footer.html" %}
36+{% endblock content %}
templates/page.html+6−3
@@ -15,8 +15,11 @@
15<nav class="mt4 full fourth-1-md fourth-1-lg mb3 mb0-m mb0-l mb0-xl">
15<nav class="mt4 full fourth-1-md fourth-1-lg mb3 mb0-m mb0-l mb0-xl">
16 <a class="gray3" href="/">Urbit</a>
16 <a class="gray3" href="/">Urbit</a>
17 <span class="gray3"> / </span>
17 <span class="gray3"> / </span>
18− <a href="/{{ page.components[0] }}">
18+ <a href="/{{ page.components[0] }}{% if page.components[2] %}/{{ page.components[1] }}{% endif %}">
19+ {% if page.components[1] %}{{ page.components[1] | capitalize }}
20+ {% else %}
19 {{ page.components[0] | capitalize }}
21 {{ page.components[0] | capitalize }}
22+ {% endif %}
20 </a>
23 </a>
21 {% include "partials/navigation-search.html" %}
24 {% include "partials/navigation-search.html" %}
22</nav>
25</nav>
@@ -37,8 +40,8 @@
37{% endif %}
40{% endif %}
38
41
39<article class="mt4 mb4 c1-12 c4-12-lg">
42<article class="mt4 mb4 c1-12 c4-12-lg">
40− <h1>{{ page.title }}</h1>
43+ {% if page.extra.hidetitle %} {% else %}<h1>{{ page.title }}</h1>{% endif %}
41− {% if page.extra.author %}
44+ {% if page.extra.author %}
42 <span class="mt2 dib" rel="author"> {{ page.extra.author }} </span>
45 <span class="mt2 dib" rel="author"> {{ page.extra.author }} </span>
43 {% if page.extra.ship %}
46 {% if page.extra.ship %}
44 <address class="mono">{{ page.extra.ship }}</address>
47 <address class="mono">{{ page.extra.ship }}</address>
templates/page_indiced.html+8−3
@@ -12,7 +12,8 @@
12
12
13<!-- header -->
13<!-- header -->
14<!-- content -->
14<!-- content -->
15−{% if page.title %}
15+{% set lowercasetitle = page.title | lower %}
16+{% if section or lowercasetitle == page.components[0] %}
16<nav class="mt4 pb4 fixed-xl full fourth-1-md fourth-1-lg page-indiced mb3 mb0-m mb0-l mb0-xl">
17<nav class="mt4 pb4 fixed-xl full fourth-1-md fourth-1-lg page-indiced mb3 mb0-m mb0-l mb0-xl">
17 <a class="gray3" href="/">Urbit</a>
18 <a class="gray3" href="/">Urbit</a>
18 <span class="gray3"> / </span>
19 <span class="gray3"> / </span>
@@ -26,8 +27,11 @@
26<nav class="mt4 fixed-xl full fourth-1-md fourth-1-lg page-indiced mb3 mb0-m mb0-l mb0-xl">
27<nav class="mt4 fixed-xl full fourth-1-md fourth-1-lg page-indiced mb3 mb0-m mb0-l mb0-xl">
27 <a class="gray3" href="/">Urbit</a>
28 <a class="gray3" href="/">Urbit</a>
28 <span class="gray3"> / </span>
29 <span class="gray3"> / </span>
29− <a href="/{{ page.components[0] }}">
30+ <a href="/{{ page.components[0] }}{% if page.components[2] %}/{{ page.components[1] }}{% endif %}">
30− {{ page.title }}
31+ {% if page.components[2] %}{{ page.components[1] | capitalize }}
32+ {% else %}
33+ {{ page.components[0] | capitalize }}
34+ {% endif %}
31 </a>
35 </a>
32
36
33 {% include "partials/navigation-search.html" %}
37 {% include "partials/navigation-search.html" %}
@@ -47,6 +51,7 @@
47{% endfor %}
51{% endfor %}
48</nav>
52</nav>
49 <article class="mt4 mb6 c1-12 c5-10-md c4-10-lg">
53 <article class="mt4 mb6 c1-12 c5-10-md c4-10-lg">
54+ {% if page.extra.hidetitle %} {% else %}<h1>{{ page.title }}</h1>{% endif %}
50 {% if page.extra.author %}
55 {% if page.extra.author %}
51 <span class="mt2 dib" rel="author"> {{ page.extra.author }} </span>
56 <span class="mt2 dib" rel="author"> {{ page.extra.author }} </span>
52 {% if page.extra.ship %}
57 {% if page.extra.ship %}
templates/partials/footer.html+18−24
@@ -1,55 +1,49 @@
1<footer class="full-bleed mt4 grid12 bg-black white full pb6">
1<footer class="full-bleed mt4 grid12 bg-black white full pb6">
2 <section class="full grid12 mb4">
2 <section class="full grid12 mb4">
3 <nav class="c3-5-md c3-5-lg half-1 mt5">
3 <nav class="c3-5-md c3-5-lg half-1 mt5">
4− <h3 class="mt0 mb0 pt0 pb0">Understanding Urbit</h3 class="mt0 mb0 pt0 pb0">
4+ <h3 class="mt0 mb0 pt0 pb0">Understanding Urbit</h3>
5 <li class="mt2"><a href="/understanding-urbit">Introduction</a></li>
5 <li class="mt2"><a href="/understanding-urbit">Introduction</a></li>
6 <li class="mt2"><a href="/understanding-urbit/urbit-id">Urbit ID</a></li>
6 <li class="mt2"><a href="/understanding-urbit/urbit-id">Urbit ID</a></li>
7 <li class="mt2"><a href="/understanding-urbit/technical-overview">Technical Overview</a></li>
7 <li class="mt2"><a href="/understanding-urbit/technical-overview">Technical Overview</a></li>
8 <li class="mt2"><a href="/understanding-urbit/project-history">Project Status + History</a></li>
8 <li class="mt2"><a href="/understanding-urbit/project-history">Project Status + History</a></li>
9 </nav>
9 </nav>
10+
10 <nav class="c5-7-md c5-7-lg half-2 mt5">
11 <nav class="c5-7-md c5-7-lg half-2 mt5">
11− <h3 class="mt0 mb0 pt0 pb0">Using Urbit</h3 class="mt0 mb0 pt0 pb0">
12+ <h3 class="mt0 mb0 pt0 pb0">Learn more</h3>
12− <li class="mt2"><a href="/contributing">How can I contribute?</a></li>
13+ <li class="mt2"><a href="/essays">Essays</a></li>
13− <li class="mt2"><a href="/operations">Using Bridge and Ships</a></li>
14+ <li class="mt2"><a href="/updates">Updates</a></li>
14− <li class="mt2"><a href="/contributing#galaxies-and-stars">Operating Galaxies and Stars</a></li>
15+ <li class="mt2"><a href="/media">Media</a></li>
15− <li class="mt2"><a href="/contributing#governance">Governance</a></li>
16+ <li class="mt2"><a href="/faq">FAQ</a></li>
16 </nav>
17 </nav>
17
18
18 <nav class="c7-9-md c7-9-lg half-1 mt5">
19 <nav class="c7-9-md c7-9-lg half-1 mt5">
19− <h3 class="mt0 mb0 pt0 pb0">Install Urbit</h3 class="mt0 mb0 pt0 pb0">
20+ <h3 class="mt0 mb0 pt0 pb0">Using + Contributing</h3>
21+ <li class="mt2"><a href="/using/install">Install + Setup</a></li>
20− <li class="mt2"><a href="/install#id">Getting an Urbit ID</a></li>
22+ <li class="mt2"><a href="/using/develop">Developer's Guide</a></li>
21− <li class="mt2"><a href="/install#urbit">Install</a></li>
23+ <li class="mt2"><a href="/using/operations">Operations Manual</a></li>
22− </nav>
24+ </nav>
23 <nav class="c9-11-md c9-11-lg half-2 mt5">
25 <nav class="c9-11-md c9-11-lg half-2 mt5">
24− <h3 class="mt0 mb0 pt0 pb0">Community</h3 class="mt0 mb0 pt0 pb0">
26+ <h3 class="mt0 mb0 pt0 pb0">Community</h3>
25 <li class="mt2"><a href="https://groups.google.com/a/urbit.org/forum/#!forum/dev">urbit-dev</a></li>
27 <li class="mt2"><a href="https://groups.google.com/a/urbit.org/forum/#!forum/dev">urbit-dev</a></li>
26 <li class="mt2"><a href="/hoonschool">Hoon School ↗</a></li>
28 <li class="mt2"><a href="/hoonschool">Hoon School ↗</a></li>
27 <li class="mt2"><a href="https://www.meetup.com/urbit-sf/">Meetups</a></li>
29 <li class="mt2"><a href="https://www.meetup.com/urbit-sf/">Meetups</a></li>
30+ <li class="mt2"><a href="/governance">Governance</a></li>
28 </nav>
31 </nav>
29 </section>
32 </section>
30 <section class="full-bleed full grid12">
33 <section class="full-bleed full grid12">
31 <nav class="c3-5-md c3-5-lg half-1 mt4 mb5">
34 <nav class="c3-5-md c3-5-lg half-1 mt4 mb5">
32− <h3 class="mt0 mb0 pt0 pb0">Learn More</h3 class="mt0 mb0 pt0 pb0">
35+ <h3 class="mt0 mb0 pt0 pb0">Developers</h3>
33− <li class="mt2"><a href="/essays">Essays</a></li>
34− <li class="mt2"><a href="/updates">Updates</a></li>
35− <li class="mt2"><a href="/media">Media</a></li>
36− <li class="mt2"><a href="/faq">FAQ</a></li>
37− </nav>
38− <nav class="c5-7-md c5-7-lg half-2 mt4 mb5">
39− <h3 class="mt0 mb0 pt0 pb0">Developers</h3 class="mt0 mb0 pt0 pb0">
40 <li class="mt2"><a href="/docs">Documentation</a></li>
36 <li class="mt2"><a href="/docs">Documentation</a></li>
41− <li class="mt2"><a href="/develop#core">Core Development</a></li>
42− <li class="mt2"><a href="/develop#application">Application Development</a></li>
43 <li class="mt2"><a href="https://grants.urbit.org">Grants</a></li>
37 <li class="mt2"><a href="https://grants.urbit.org">Grants</a></li>
44 <li class="mt2"><a href="/bounties">Security Bounties</a></li>
38 <li class="mt2"><a href="/bounties">Security Bounties</a></li>
45 </nav>
39 </nav>
46− <nav class="c7-9-md c7-9-lg half-1 mt4 mb5">
40+ <nav class="c5-7-md c5-7-lg half-2 mt4 mb5">
47 <h2 class="mb3 mt0">About Urbit.org</h2>
41 <h2 class="mb3 mt0">About Urbit.org</h2>
48 <li class="mt2"><a href="/tos">Terms of Service</a></li>
42 <li class="mt2"><a href="/tos">Terms of Service</a></li>
49 <li class="mt2"><a href="/privacy#scope">Privacy Policy</a></li>
43 <li class="mt2"><a href="/privacy#scope">Privacy Policy</a></li>
50 </nav>
44 </nav>
51− <nav class="c9-11-md c9-11-lg half-2 mt4 mb5">
45+ <nav class="c7-9-md c7-9-lg half-1 mt4 mb5">
52− <h2 class="mb3">Need Help?</h2>
46+ <h2 class="mb3">Need help?</h2>
53 <li class="mt2"><a href="mailto:support@urbit.org">support@urbit.org ↗</a></li>
47 <li class="mt2"><a href="mailto:support@urbit.org">support@urbit.org ↗</a></li>
54 <li class="mt2"><a href="https://discord.gg/bkEX6EU">Discord</a></li>
48 <li class="mt2"><a href="https://discord.gg/bkEX6EU">Discord</a></li>
55 <li class="mt2"><a href="https://github.com/urbit">Github</a></li>
49 <li class="mt2"><a href="https://github.com/urbit">Github</a></li>