2023-01-09 19:28:47 +03:00
|
|
|
# Urbit Runtime
|
2019-01-15 00:56:41 +03:00
|
|
|
|
2023-01-09 19:28:47 +03:00
|
|
|
[Urbit][urbit] is a personal server stack built from scratch. This repository
|
|
|
|
contains [Urbit's runtime environment][vere], the lowest layer of the Urbit
|
|
|
|
stack, which includes the Nock virtual machine, I/O drivers, event log, and
|
|
|
|
snapshotting system.
|
2019-06-17 15:16:41 +03:00
|
|
|
|
2023-01-09 19:28:47 +03:00
|
|
|
## Getting Started
|
2020-09-01 04:35:04 +03:00
|
|
|
|
2023-01-09 19:28:47 +03:00
|
|
|
For basic Urbit usage instructions, head over to [urbit.org][getting-started].
|
|
|
|
For a high-level overview of the salient aspects of Urbit's architecture, visit
|
|
|
|
[developers.urbit.org][technical-reference]. You might also be interested in
|
|
|
|
joining the [urbit-dev][mailing-list] mailing list.
|
2020-09-01 04:35:04 +03:00
|
|
|
|
2023-01-09 19:28:47 +03:00
|
|
|
## Packages
|
2017-06-14 04:32:37 +03:00
|
|
|
|
2023-01-09 19:28:47 +03:00
|
|
|
Urbit's runtime is broken down into a few separate layers, each of which is
|
|
|
|
defined in its own package:
|
2019-06-17 15:16:41 +03:00
|
|
|
|
2023-01-09 19:28:47 +03:00
|
|
|
- [`pkg/c3`](pkg/c3): A set of basic utilities for writing Urbit's style of C.
|
|
|
|
- [`pkg/ent`](pkg/ent): A cross-platform wrapper for `getentropy(2)`.
|
|
|
|
- [`pkg/urcrypt`](pkg/urcrypt): A standardized interface for calling various
|
|
|
|
cryptographic functions used in the Urbit runtime.
|
|
|
|
- [`pkg/ur`](pkg/ur): An implementation of [jam][jam] and [cue][cue], Urbit's
|
|
|
|
bitwise noun serialization and deserialization algorithms, respectively.
|
|
|
|
- [`pkg/noun`](pkg/noun): The Nock virtual machine and snapshotting system.
|
|
|
|
- [`pkg/vere`](pkg/vere): The I/O drivers, event log, and main event loop.
|
2015-09-23 00:04:11 +03:00
|
|
|
|
2023-05-10 19:08:18 +03:00
|
|
|
|
2023-01-09 19:28:47 +03:00
|
|
|
## Build
|
2015-11-17 06:29:27 +03:00
|
|
|
|
2023-01-09 21:54:11 +03:00
|
|
|
See [INSTALL.md](INSTALL.md).
|
2023-01-09 19:28:47 +03:00
|
|
|
|
2019-06-17 13:20:59 +03:00
|
|
|
## Contributing
|
2018-03-20 20:16:16 +03:00
|
|
|
|
2023-01-09 19:28:47 +03:00
|
|
|
Contributions of any form are more than welcome. Please take a look at our
|
|
|
|
[contributing guidelines][contributing] for details on our git practices, coding
|
2019-09-02 22:59:21 +03:00
|
|
|
styles, how we manage issues, and so on.
|
2019-01-15 21:22:47 +03:00
|
|
|
|
2023-01-09 19:28:47 +03:00
|
|
|
[bazel]: https://bazel.build
|
|
|
|
[contributing]: https://github.com/urbit/urbit/blob/master/CONTRIBUTING.md
|
|
|
|
[cue]: https://developers.urbit.org/reference/hoon/stdlib/2p#cue
|
|
|
|
[getting-started]: https://urbit.org/getting-started
|
|
|
|
[jam]: https://developers.urbit.org/reference/hoon/stdlib/2p#jam
|
|
|
|
[mailing-list]: https://groups.google.com/a/urbit.org/forum/#!forum/dev
|
|
|
|
[urbit]: https://urbit.org
|
|
|
|
[vere]: https://developers.urbit.org/reference/glossary/vere
|
|
|
|
[technical-reference]: https://developers.urbit.org/reference
|