Skip to content

Package that allows you to create a Principal from a Blob.

License

Notifications You must be signed in to change notification settings

aviate-labs/principal.mo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Principal

Provides a wrapper around the base principal module.

Usage

You can add the package with vessel.

Principals

Functions

  • fromText: creates a principal from its textual representation.

  • toText: converts a principal to its textual representation.

  • fromBlob (NEW): creates a principal from its binary representation.

  • toBlob: converts a principal to its binary representation.

Account Identifiers

It is recommended to use the blob subpackage if you do not need random access or mutation.

Example

let accountId = AccountIdentifier.fromPrincipal(p, null);
let aIdText   = AccountIdentifier.toText(ab);
assert(Hex.equal(aIdText, "a7218db708c35689495871c3c6860504503ab2a545630809dd8609130331b0c2"));

Text vs. [Nat8] vs. Blob

  1. Text is case-sensitive, if you choose to use it, make use to use Hex.equal.
  2. [Nat8] has the same memory layout as other array, so is less compact as Blob.
  3. Blob is the best choice if you do not need to access the underlying bytes.