This package is distributed via npm and can be installed using
npm install @holochain/hcid-js
This module exports a class called
Encoding which can be used to construct an encoding for the different types of Holochain identifiers. Each of these identifiers are given a three character prefix:
- AgentID (from signing key) : 'hcs'
Depending on if you are using the module in node.js or the browser the calling syntax is slightly different. This is because in the browser the WASM must be asynchronously compiled and instantiated to prevent blocking the main thread. As a result all of the constructor returns a promises in the browser but not in node.
const publicKey = [...] // UInt8Array of bytes of public key const enc = new Encoding('hcs0') // node.js const enc = await new Encoding('hcs0') // browser const agentId = enc.encode(publicKey) const restoredPublicKey = enc.decode(id)
From the root of the repo (hcid) the package can be build using
and tests run using
Note this runs browser tests which may fail if you do not have both firefox and chrome installed. On linux set the environment variable