on master help sign in
further work in progress
58fcb66Morgan Sutherland
getting-started/azimuth.udon−1
@@ -6,4 +6,3 @@
6# Using Azimuth
6# Using Azimuth
7
7
8The primary way to interact with Azimuth, our identity platform, is through our application [Bridge](https://github.com/urbit/bridge) and the node libraries that it depends on, azimuth-js and keygen-js. Take a look at the source and play around or see our [introduction to Bridge](/getting-started/installation).
8The primary way to interact with Azimuth, our identity platform, is through our application [Bridge](https://github.com/urbit/bridge) and the node libraries that it depends on, azimuth-js and keygen-js. Take a look at the source and play around or see our [introduction to Bridge](/getting-started/installation).
9−
getting-started/landscape.udon+1−3
@@ -5,6 +5,4 @@
5
5
6# Landscape
6# Landscape
7
7
8−We're using Landscape, our new UI, to bootstrap a city dedicated to learning Hoon and
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, visit this [signup page](/landscape).
9−contributing to Urbit. If you'd like to know more about joining this city, visit
10−this [signup page](/landscape).
introduction/arvo-vs-azimuth.udon+5−10
@@ -4,17 +4,12 @@
4
4
5# Arvo vs. Azimuth
5# Arvo vs. Azimuth
6
6
7−*Arvo* is the Urbit operating system. *Azimuth* is the decentralized ledger
8−that keeps track of identities that are required to use the Arvo network. *Urbit* is the holistic system composed of both Arvo and Azimuth.
7+*Arvo* is the Urbit operating system. *Azimuth* is the decentralized ledger that keeps track of identities that are required to use the Arvo network. *Urbit* is the holistic system composed of both Arvo and Azimuth.
9
8
10−The Arvo network is composed of virtual machines running our software stack.
9+The Arvo network is composed of virtual machines running our software stack. Using a blockchain for this kind of computing is impossible: there's far too much data involved in an operating system to run on top of a distributed consensus mechanism. And you don't want your private information on a public ledger. The Arvo network is not a blockchain.
11−Using a blockchain for this kind of computing is impossible: there's far too
12−much data involved in an operating system to run on top of a distributed
13−consensus mechanism. And you don't want your private information on a public
14−ledger. The Arvo network is not a blockchain.
15
10
16−However, being a decentralized system, we need some way to cryptographically secure and authenticate your identity on the Arvo network. What keeps track of who owns any given identity? Well, simply matching something to an address is a small piece of computing, and a blockchain are wonderful for such a purpose. That's where the Azimuth comes in.
11+However, being a decentralized system, we need some way to cryptographically secure and authenticate your identity on the Arvo network. What keeps track of who owns any given identity? Well, simply matching something to an address is a small piece of computing, and a blockchain are wonderful for such a purpose. That's where the Azimuth comes in.
17
12
18−We chose to build Azimuth on the Ethereum blockchain because smart contracts are well-suited for the peculiarities of the identities. Urbit identities are owned by Ethereum addresses.
13+We chose to build Azimuth on the Ethereum blockchain because smart contracts are well-suited for the peculiarities of the identities. Urbit identities are owned by Ethereum addresses.
19
14
20−Azimuth and the Arvo network are parallel systems. Azimuth isn't necessarily Arvo-related; it can be used as a generalized identity system for other projects. Azimuth is the equivalent of a bank vault that storess sthe deed to your house. The Arvo network is the neighborhood that you live in.
15+Azimuth and the Arvo network are parallel systems. Azimuth isn't necessarily Arvo-related; it can be used as a generalized identity system for other projects. Azimuth is the equivalent of a bank vault that storess sthe deed to your house. The Arvo network is the neighborhood that you live in.
introduction/community.udon → introduction/community-tutorials.udonrenamed+4−2
@@ -5,9 +5,11 @@
5 ==
5 ==
6;>
6;>
7
7
8−# Community docs
8+# Community Docs
9
9
10−Here are some tutorials written by members of the Urbit community. Some are a little outdated, but they may still prove useful.
10+Here are some tutorials written by members of the Urbit community. Some are a little outdated, but they may still prove useful.
11+
12+If you want to add something to this list, [shoot us an email](mailto:support@urbit.org).
11
13
12- `~master-morzod`
14- `~master-morzod`
13 - [Fora post](https://urbit.org/fora/posts/~2016.12.25..06.35.44..a1ec~/)
15 - [Fora post](https://urbit.org/fora/posts/~2016.12.25..06.35.44..a1ec~/)
introduction/contributing.udon+4−4
@@ -7,14 +7,14 @@
7
7
8# Contributing
8# Contributing
9
9
10−It's always a good day for pull requests! We gladly accept submissions
11−for improving our [code](https://github.com/urbit/urbit/) and
10+We accept submissions for improving our [code](https://github.com/urbit/urbit/) and [documentation](https://github.com/urbit/docs/) alike.
12−[documentation](https://github.com/urbit/docs/) alike.
11+
12+If you're interested in contributing, but don't know where to start, feel free to [send us an email](mailto:support@urbit.org).
13
13
14## Code guidelines
14## Code guidelines
15
15
16Our official guide to contributing can be found
16Our official guide to contributing can be found
17[here](https://github.com/urbit/urbit/blob/master/CONTRIBUTING.md),
17[here](https://github.com/urbit/urbit/blob/master/CONTRIBUTING.md),
18−which is most useful for large and low-level changes. For a good example of
18+which is most useful for large and low-level changes. For a good example of
19preferred Hoon coding style, see
19preferred Hoon coding style, see
20[ford.hoon](https://github.com/urbit/arvo/blob/master/sys/vane/ford.hoon).
20[ford.hoon](https://github.com/urbit/arvo/blob/master/sys/vane/ford.hoon).
introduction/source.udon → introduction/source-code-overview.udonrenamed+8−24
@@ -2,11 +2,11 @@
2 navuptwo/'true'
2 navuptwo/'true'
3 next/'true'
3 next/'true'
4 sort/'2'
4 sort/'2'
5− title/'Source code'
5+ title/'Source Code Overview'
6 ==
6 ==
7;>
7;>
8
8
9−# Source code overview
9+# Source Code Overview
10
10
11We host all our source code on GitHub at [github.com/urbit](https://github.com/urbit).
11We host all our source code on GitHub at [github.com/urbit](https://github.com/urbit).
12
12
@@ -56,34 +56,18 @@ important ones here:
56 ==
56 ==
57 ;li
57 ;li
58 ;h1
58 ;h1
59− ;a/"https://github.com/urbit/constitution"
59+ ;a/"https://github.com/urbit/azimuth"
60− ;code: urbit/constitution
60+ ;code: urbit/azimuth
61 ==
61 ==
62 ==
62 ==
63− We're [bootstrapping Urbit from Ethereum](https://urbit.org/blog/2017.9-eth/). This means formally defining the Urbit governance model and public-key infrastructure formally in a simple smart contract deployed on the Ethereum blockchain. If you're into Solidity, or just want to see how this works, check out this repo. Currently getting audited.
63+ Azimuth is a general-purpose PKI that Urbit uses for network identities.
64 ==
64 ==
65 ;li
65 ;li
66 ;h1
66 ;h1
67− ;a/"https://github.com/urbit/etherwallet"
67+ ;a/"https://github.com/urbit/bridge"
68− ;code: urbit/etherwallet
68+ ;code: urbit/bridge
69 ==
69 ==
70 ==
70 ==
71− Urbit will soon need a secure, robust frontend interface for buying and selling Urbit address space and interacting directly with the Urbit constitution smart contract. We decided to fork MyEtherWallet, which already has strong security and support for things like multisig and hardware wallet, and modify it to support Urbit. Dive in!
71+ Bridge is an offline web application for interacting with Ecliptic, the interface to Azimuth.
72− ==
73− ;li
74− ;h1
75− ;a/"https://github.com/urbit/tree"
76− ;code: urbit/tree
77− ==
78− ==
79− Tree is the main Urbit web interface written as a React/Flux app in CoffeeScript. We're working on porting this to ES6 and simplifying the architecture generally. If you're into frontend frameworks and web apps, reach out to us and we'll help you get started.
80− ==
81− ;li
82− ;h1
83− ;a/"https://github.com/urbit/talk"
84− ;code: urbit/talk
85− ==
86− ==
87− The main web interface for Urbit's distributed chat and notifications protocol. Currently, like Tree, a simple React/Flux app written in CoffeeScript. With lots of changes happening to the Talk Hoon backend app in the coming releases, our frontend Talk interface will need a lot of development and design work. We've also started the process of porting this to ES6. Ask us how you can start helping out!
88 ==
72 ==
89==
73==
introduction/overview.udon → introduction/technical-overview.udonrenamed

The content is the same.

learn/arvo.udon+17−1
@@ -5,4 +5,20 @@
5
5
6# Arvo
6# Arvo
7
7
8−Arvo is the
8+Arvo is a clean-slate system software stack defined as a deterministic computer. An encrypted P2P network, %ames, runs on a functional operating system, Arvo, written in a strict, typed functional language, Hoon, which compiles itself to a combinator interpreter, Nock, whose spec gzips to 340 bytes.
9+
10+## [Hoon](docs/learn/arvo/hoon)
11+
12+Hoon is a high-level, statically typed, functional programming language, custom-designed for use with Urbit. For a functional language it has a surprisingly imperative style, and mastering it doesn't require knowing any advanced mathematics.
13+
14+The [Hoon Tutorials](docs/learn/arvo/hoon/getting-started) are the best place to start if you want to learn Urbit.
15+
16+## [Nock](docs/learn/arvo/nock)
17+
18+Nock is the low-level functional programming language that is interpreted by Vere. You don't need to know Nock to write Hoon, or even to work on most parts of Vere. But if you want to understand the foundations of Urbit and are mathematically-inclined, dive right in.
19+
20+## [Vere](docs/learn/arvo/vere)
21+
22+The Nock runtime system, written in C.
23+
24+Keep reading if you're planning to work on the Urbit interpreter, you're a language implementation geek, or you don't really understand anything until you've seen the actual structs.
learn/arvo/hoon/hoon-ch1-4.udon → learn/arvo/hoon/arms-and-cores.udonrenamed

The content is the same.

learn/arvo/hoon/hoon-ch2-4.udon → learn/arvo/hoon/atoms-auras-and-simple-cell-types.udonrenamed

The content is the same.

learn/arvo/hoon/hoon-ch2-8.udon → learn/arvo/hoon/cores-again.udonrenamed

The content is the same.

learn/arvo/hoon/hoon-ch2-7.udon → learn/arvo/hoon/cores.udonrenamed

The content is the same.

learn/arvo/hoon/hoon-ch2-11.udon → learn/arvo/hoon/examples.udonrenamed

The content is the same.

learn/arvo/hoon/hoon-ch1-5.udon → learn/arvo/hoon/gates.udonrenamed

The content is the same.

learn/arvo/hoon/hoon-ch1-1.udon → learn/arvo/hoon/getting-started.udonrenamed

The content is the same.

learn/arvo/hoon/hoon-ch2-1.udon → learn/arvo/hoon/hoon-programs.udonrenamed

The content is the same.

learn/arvo/hoon/hoon-ch2-2.udon → learn/arvo/hoon/hoon-syntax.udonrenamed

The content is the same.

learn/arvo/hoon/hoon-ch2-9.udon → learn/arvo/hoon/lists.udonrenamed

The content is the same.

learn/arvo/hoon/hoon-ch1-6.udon → learn/arvo/hoon/multi-gate-cores-and-doors.udonrenamed

The content is the same.

learn/arvo/hoon/hoon-ch1-2.udon → learn/arvo/hoon/nouns.udonrenamed

The content is the same.

learn/arvo/hoon/hoon-ch2-3.udon → learn/arvo/hoon/simple-one-gate-programs.udonrenamed

The content is the same.

learn/arvo/hoon/hoon-ch2-6.udon → learn/arvo/hoon/structures-and-complex-types.udonrenamed

The content is the same.

learn/arvo/hoon/hoon-ch1-3.udon → learn/arvo/hoon/the-subject-and-its-legs.udonrenamed

The content is the same.

learn/arvo/hoon/hoon-ch2-10.udon → learn/arvo/hoon/trees-sets-and-maps.udonrenamed

The content is the same.

learn/arvo/hoon/hoon-ch2-5.udon → learn/arvo/hoon/type-checking-and-type-inference.udonrenamed

The content is the same.

learn/arvo/hoon/hoon-ch3-1.udon → learn/arvo/hoon/type-polymorphism.udonrenamed

The content is the same.

learn/azimuth.udon+5−1
@@ -5,4 +5,8 @@
5
5
6# Azimuth
6# Azimuth
7
7
8−[PLACEHOLDER]
8+Azimuth is a general-purpose public-key infrastructure (PKI) on the Ethereum blockchain, used as a decentralized ledger for Urbit identities that we call *points*. Having a point is necessary to use the Urbit network, which makes it important to have a neutral ledger to determine who owns what.
9+
10+Azimuth is not, however, part of the Urbit stack. Azimuth is a parallel system that be used as a generalized identity system for other projects. Azimuth "touches" the Urbit ecosystem when a point is used to boot a virtual computer on the Urbit network for the first time. When that happens, the point considered *linked* to Azimuth and the point’s full powers are available for use. Once a point is linked, it cannot be unlinked.
11+
12+A metaphor might make the relationship between these two systems to understand: Azimuth is the bank vault that stores the deed to your house. The Urbit network is the neighborhood that you live in.