Ursus Atom
A library for manipulating Urbit atoms and auras.
Usage
Ursus Atom grants support for the urbit phonetic base, useful for representing Azimuth points ('ships'):
let ship = try! PatP(string: "~lanrus-rinfep")
let point = Int(ship) // 328448There is an Aura protocol with an associated type Atom which can be any UnsignedInteger type, but in practice we use BigUInt types.
Current implementations:
PatP(@p)PatQ(@q)PatUV(@uv)
Installation
Ursus Atom can be installed using Cocoapods by adding the following line to your podfile:
pod 'UrsusAtom', '~> 1.2'I can probably help set up Carthage or Swift Package Manager support if you need it.
Todo list
Things that would make this codebase nicer:
- Additional atom and aura types; the date format would be a good candidate.
- Unit tests for the cryptographic methods in
PhoneticBaseObfuscator(ported from urbit-hob). - Better documentation/examples.