.github/workflows | ||
bazel | ||
doc/spec | ||
docker | ||
pkg | ||
.bazelrc | ||
.gitignore | ||
BUILD.bazel | ||
CONTRIBUTING.md | ||
INSTALL.md | ||
LICENSE.txt | ||
MAINTAINERS.md | ||
Makefile | ||
PACE | ||
README.md | ||
VERSION | ||
WORKSPACE.bazel |
Urbit Runtime
Urbit is a personal server stack built from scratch. This repository contains Urbit's runtime environment, the lowest layer of the Urbit stack, which includes the Nock virtual machine, I/O drivers, event log, and snapshotting system.
Getting Started
For basic Urbit usage instructions, head over to urbit.org. For a high-level overview of the salient aspects of Urbit's architecture, visit developers.urbit.org. You might also be interested in joining the urbit-dev mailing list.
Packages
Urbit's runtime is broken down into a few separate layers, each of which is defined in its own package:
pkg/c3
: A set of basic utilities for writing Urbit's style of C.pkg/ent
: A cross-platform wrapper forgetentropy(2)
.pkg/urcrypt
: A standardized interface for calling various cryptographic functions used in the Urbit runtime.pkg/ur
: An implementation of jam and cue, Urbit's bitwise noun serialization and deserialization algorithms, respectively.pkg/noun
: The Nock virtual machine and snapshotting system.pkg/vere
: The I/O drivers, event log, and main event loop.
Build
See INSTALL.md.
Contributing
Contributions of any form are more than welcome. Please take a look at our contributing guidelines for details on our git practices, coding styles, how we manage issues, and so on.