@traittech/trait-keyless
v0.1.4
Published
This library provides functions for encoding and decoding keyless addresses, used by the TRAIT blockchain: application agent addresses, transactional addresses, and named addresses.
Downloads
5
Readme
TRAIT Keyless Address Encoding and Decoding Library
This library provides functions for encoding and decoding keyless addresses used by the TRAIT blockchain: application agent addresses, transactional addresses, and named addresses.
A keyless address is a type of blockchain address that does not depend on a pair of cryptographic keys for identification. Instead, it is derived from a combination of identifiers and checksums and is controlled by an AppAgent. This makes the keyless addresses convenient for use in off-chain applications.
Usage
To use this library in your project, import the necessary functions and constants:
const {
encodeAppAgent,
encodeTransactional,
encodeNamed,
AddressType,
BlockchainAddressInfo,
decodeAppAgent,
decodeTransactional,
decodeNamed,
decodeAddress,
} = require("@traittech/trait-keyless");Example for AppAgent addresses:
const appAgentId = 123;
const encodedAppAgentAddress = encodeAppAgent(appAgentId);
console.log("Encoded AppAgent address:", encodedAppAgentAddress);
const decodedAppAgentId = decodeAppAgent(encodedAppAgentAddress);
console.log("Decoded AppAgent ID:", decodedAppAgentId);
const decodedAppAgentAddress = decodeAddress(encodedAppAgentAddress);
console.log("Decoded AppAgent address:", decodedAppAgentAddress);Example for Transactional addresses
const taId = 456;
const encodedTaAddress = encodeTransactional(appAgentId, taId);
console.log("Encoded Transactional address:", encodedTaAddress);
const decodedTaId = decodeTransactional(encodedTaAddress);
console.log("Decoded Transactional ID:", decodedTaId);
const decodedTransactionalAddress = decodeAddress(encodedTaAddress);
console.log("Decoded Transactional address:", decodedTransactionalAddress);Example for Named addresses
const addressName = "hot-wallet";
const encodedNamedAddress = encodeNamed(appAgentId, addressName);
console.log("Encoded Named address [123, 'hot-wallet']:", encodedNamedAddress);
const decodedAddressName = decodeNamed(encodedNamedAddress);
console.log("Decoded address name:", decodedAddressName);
const decodedNamedAddress = decodeAddress(encodedNamedAddress);
console.log("Decoded Named address:", decodedNamedAddress);Example for Regular addresses
const encodedRegularAddress =
"ttowKp8AmRn9nxt8Gcout4stYQem7TZNkhpnVmtpS5KG39m2Y";
const decodedRegularAddress = decodeAddress(encodedRegularAddress);
console.log("Decoded Regular address:", decodedRegularAddress);