89b9977ac8
Previously, the initial Azimuth snapshot was stored in Clay and shipped in the pill. This causes several problems: - It bloats the pill - Updating the snapshot added large blobs to Clay's state. Even now that tombstoning is possible, you don't want to have to do that regularly. - As a result, the snapshot was never updated. - Even if you did tombstone those files, it could only be updated as often as the pill - And those updates would be sent over the network to people who didn't need them This moves the snapshot out of the pill and refactors Azimuth's initialization process. On boot, when app/azimuth starts up, it first downloads a snapshot from bootstrap.urbit.org and uses that to initialize its state. As before, updates after this initial snapshot come from an Ethereum node directly and are verified locally. Relevant commands are: - `-azimuth-snap-state %filename` creates a snapshot file - `-azimuth-load "url"` downloads and inits from a snapshot, with url defaulting to https://bootstrap.urbit.org/mainnet.azimuth-snapshot - `:azimuth &azimuth-poke-data %load snap-state` takes a snap-state any way you have it Note the snapshot is downloaded from the same place as the pill, so this doesn't introduce additional trust beyond what was already required. When remote scry is released, we should consider allowing downloading the snapshot in that way. |
||
---|---|---|
.. | ||
app | ||
gen | ||
lib | ||
mar | ||
sur | ||
sys | ||
ted | ||
tests | ||
.gitattributes | ||
.ignore | ||
desk.bill | ||
LICENSE.txt | ||
README.md | ||
sys.kelvin | ||
TESTING.udon |
Arvo
A clean-slate operating system.
Usage
To run Arvo, you'll need Urbit. To install Urbit and run Arvo please follow the instructions in the getting started docs. You'll be on the live network in a few minutes.
If you're doing development on Arvo, keep reading.
Documentation
Find Arvo's documentation on urbit.org.
Development
To boot a fake ship from your development files, run urbit
with the following arguments:
urbit -F zod -A /path/to/arvo -c fakezod
Mount Arvo's filesystem allows you to update its contents through Unix. To do so, run |mount
in dojo. It is most common to |mount /=base=
.
To create a custom pill (bootstrapping object) from the files loaded into the base desk, run .my/pill +solid
. Your pill will appear in /path/to/fakezod/.urb/put/my.pill
.
To boot a fake ship with a custom pill, use the -B
flag:
urbit -F zod -A /path/to/arvo -B /path/to.pill -c fakezod
To run all tests in /tests
, run -test %/tests
in dojo. To run only the tests in /tests/some/path
, use -test %/tests/some/path
.
Maintainers
Most parts of Arvo have dedicated maintainers.
/sys/hoon
: @pilfer-pandex (~pilfer-pandex)/sys/zuse
: @pilfer-pandex (~pilfer-pandex)/sys/arvo
: @joemfb (~master-morzod)/sys/vane/ames
: @belisarius222 (~rovnys-ricfer) & @philipcmonk (~wicdev-wisryt)/sys/vane/behn
: @belisarius222 (~rovnys-ricfer)/sys/vane/clay
: @philipcmonk (~wicdev-wisryt) & @belisarius222 (~rovnys-ricfer)/sys/vane/dill
: @fang- (~palfun-foslup)/sys/vane/eyre
: @fang- (~palfun-foslup)/sys/vane/gall
: @philipcmonk (~wicdev-wisryt)/sys/vane/jael
: @fang- (~palfun-foslup) & @philipcmonk (~wicdev-wisryt)/app/acme
: @joemfb (~master-morzod)/app/dns
: @joemfb (~master-morzod)/app/aqua
: @philipcmonk (~wicdev-wisryt)/app/hood
: @belisarius222 (~rovnys-ricfer)/lib/hood/drum
: @fang- (~palfun-foslup)/lib/hood/kiln
: @philipcmonk (~wicdev-wisryt)
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.
You might also be interested in:
- joining the urbit-dev mailing list.
- applying to Hoon School, a course we run to teach the Hoon programming language and Urbit application development.