shrub/pub/docs/user/launch.md
2015-12-01 17:43:42 -08:00

113 lines
4.2 KiB
Markdown

---
hide: true
next: true
sort: 10
title: Launch
---
# Launch procedure
An urbit is a persistent server on the Urbit P2P network.
You'll create one of these servers now. To understand what
you're building, you need to know a little about the network.
## Launch instructions
If you have an invitation, it's a planet like `~fintud-macrep`
and a ticket like `~fortyv-tombyt-tabsen-sonres`. Run
urbit -w fintud-macrep -t fortyv-tombyt-tabsen-sonres
(You can leave the `~` on, but it annoys some Unix shells.)
If you don't have an invitation, pick a nickname for your comet,
like `mycomet`. Urbit will randomly generate a 128-bit plot:
urbit -c mycomet
Either way, creating your urbit will take some time. Some of
this time involves creating keys; some of it involves downloading
code over Urbit itself. Go get a cup of coffee, and/or absorb
the miscellaneous true facts below:
## Network architecture
An Urbit address is a number, or *plot*, under 2^128. Every
server on the Urbit network has one unique plot.
Since Urbit is designed as a personal server, a plot is both a
network address and a digital identity. There is no additional
human-meaningful name layer like the DNS. Plots will never be
meaningful; but to make them as memorable as possible, we type
them in a phonemic syntax with one byte per syllable, like
`~harlyx-rocsev` for `0x510b.9441`.
Urbit address space is cryptographic property, like Bitcoin, but
Urbit doesn't use a blockchain. Plots are digital land, not
digital currency; you own your urbit cryptographically, but you
don't get it by mining. In land, transfers are infrequent and
not frictionless. (Right now, all keys are test keys, and there
are no transfers, only initial invitations.)
Urbit is semi-decentralized: it overlays a 64-bit hierarchical
structure on the low end of a 128-bit fingerprint namespace. If
you have an invitation, it's a *ticket* that lets you create a
32-bit plot, aka *planet*. If you don't have an invitation, you
have to create a 128-bit plot, aka *comet*.
As a comet, you're not necessarily a bad person. But you could
be anyone, so you have zero reputation. You have no official
access to any Urbit services. Any connectivity you may enjoy
could be shut off at any time, and it probably will be. If the
Internet has proven one thing, it's that positive default
reputation and effectively infinite number of identities don't mix.
## Substrate interactions
Urbit doesn't run on bare chips and wires, at least not at
present. It runs as a Unix process and sends UDP packets.
Since Urbit is a P2P network that runs over random UDP ports,
some firewalls may not like it. Urbit without connectivity still
works as an interpreter, but it can't launch without the network.
If run as `root`, the `urbit` process can only read and write
inside the `fintud-macrep` or `mycomet` directory, which we call
your *pier*. A pier is portable; any Urbit install on any OS can
execute the same pier. (But don't *ever* run the same pier or
plot on two computers at once.)
In the pier directory is a set of user-level mount points. Mount
points are synced Dropbox style, with Unix file changes
autocommitted to the Urbit revision control system (`%clay`) and
vice versa. (Urbit does not have its own editor -- you edit
Urbit code either with an Unix editor on a mounted file, or with
a Web editor from your browser.)
Also within the pier is a system directory, `.urb/`, which
contains an event log (`egz.hope`), a checkpoint (`.chk`), and
I/O directories for uploads and downloads (`put` and `get`).
You can compact the pier by deleting the checkpoint, although
that means Urbit needs to re-execute its entire event history.
This will take some time. Go have a beer.
Also in `.urb` is a file like `code.~rosrev-dinnul`. This is
your passcode; all data in the pier [XX: not yet the checkpoint]
is encrypted with it. For extra security, print out or memorize
the contents of this file, then delete it; Urbit will prompt for
the passcode on startup. Please be warned that Urbit is not at
present secure in any way!
## Complete launch procedure
Wait until you see a prompt, either
~fintud-macrep:talk()
or
~fintud-macrep:dojo>
and then press ^D to quit.
Your urbit is launched! Ladies and gentlemen, we are floating in space.