How to discover the latest base hash on your Urbit ship

published Apr 20, 2021, last modified Jul 06, 2022

For those times when you want to know "am I fully up to date?"

How to discover the latest base hash on your Urbit ship

The "latest base hash" is the hash identifier of the latest Urbit OS and app update, as applied to your ship.

To discover the latest base hash, type +trouble in your Urbit Web Terminal app (also known as the Dojo).  This command will show you all the base hashes for all the %desks (apps) you have running in your Urbit.

In the following screenshot, the things on the left column that start with the % sign refer to each desk on your ship — and each desk is generally used by a single app:

In older urbits — upgrade! — something like this will appear (the base hash is bolded):

> +trouble
[ [ %base-hash
~[0vi.g9k13.jlls1.n36gj.n1rod.13552.2ffts.2hov5.gj856.9mjti.fm1k5]
]
[%sour-hash 0vi.g9k13.jlls1.n36gj.n1rod.13552.2ffts.2hov5.gj856.9mjti.fm1k5]
[%home-hash 0vb.4nh76.s0ctq.et0j5.d35vh.rip12.5idv4.g12hl.0fm28.0n1eb.068mh]
[%kids-hash 0vb.4nh76.s0ctq.et0j5.d35vh.rip12.5idv4.g12hl.0fm28.0n1eb.068mh]
[%glob-hash 0v4.m6t09.ego4v.atjn3.mn5p4.mchad %done]
[%our ship=~yoursh-ipiden point='14263696' life=[~ 10] rift=[~ 9]]
[%sponsor ship=~samzod point='1024' life=[~ 3] rift=[~ 0]]
[%dopzod ship=~dopzod point='4608' life=[~ 3] rift=[~ 2]]
"Compare lifes and rifts to values here:"
"https://etherscan.io/address/azimuth.eth#readContract"
" life - getKeyRevisionNumber" " rift - getContinuityNumber"
~
]

If you see something like that, then your ship is way behind.

Troubleshooting OTAs

Version 1.9 of Urbit may fail to update from earlier versions.  To update:

  1. Update the binary on your system.  The release should be here for the appropriate CPU architecture of your machine.
  2. Run the binary as path/to/urbit dock path/to/ship-pier.  This docks the binary onto your pier as the .run program.
  3. Stop the currently-running Urbit.
  4. Start your new Urbit as path/to/ship-pier/.run (adding whatever other command-line options you may have been using before).
  5. Suspend all apps via each app's tile menu (you'll have to fall back on the console terminal for the next step).
  6. Run |install (sein:title our now our) %kids, =local %base on the Urbit console terminal.  This will kick the base software update into action.
  7. Unsuspend all the apps you suspended before.

You can find more information — including relatively up-to-date desk/app hashes — at the following links: