@xrplf/isomorphic
A collection of isomorphic and tree-shakeable crypto hashes and utils for xrpl.js
Last updated a year ago by ckniffen .
ISC · Repository · Bugs · Original npm · Tarball · package.json
$ npm install @xrplf/isomorphic 
SYNC missed versions from official npm registry.

@xrplf/isomorphic

A collection of isomorphic implementations of crypto and utility functions.

Browser implementations of cryptographic functions use @noble/hashes and crypto for node .

Hashes

All hash functions operate similarly to @noble/hashes and have the following properties:

  • They can be called directly by providing a Uint8Array or string which will be converted into a UInt8Array via UTF-8 encoding (not hex).
  • They all return a UInt8Array.
function hash(message: Uint8Array | string): Uint8Array;
hash(new Uint8Array([1, 3]));
hash('string') == hash(new TextEncoder().encode('string'));

All hash functions can be constructed via hash.create() method:

  • The result is Hash subclass instance, which has update() and digest() methods.
  • digest() finalizes the hash and makes it no longer usable
hash
  .create()
  .update(new Uint8Array([1, 3]))
  .digest();

@xrplf/isomorphic/ripemd160

import { ripemd160 } from '@xrplf/isomorphic/ripemd160';
const hashA = ripemd160('abc');
const hashB = ripemd160
  .create()
  .update(Uint8Array.from([1, 2, 3]))
  .digest();

@xrplf/isomorphic/sha256

import { sha256 } from '@xrplf/isomorphic/sha256';
const hashA = sha256('abc');
const hashB = sha256
  .create()
  .update(Uint8Array.from([1, 2, 3]))
  .digest();

@xrplf/isomorphic/sha512

import { sha512 } from '@xrplf/isomorphic/sha512';
const hashA = sha512('abc');
const hashB = sha512
  .create()
  .update(Uint8Array.from([1, 2, 3]))
  .digest();

Utilities

@xrplf/isomorphic/utils

randomBytes

Create an UInt8Array of the supplied size

import { randomBytes } from @xrplf/isomorphic/utils

console.log(randomBytes(12)) // Uint8Array(12) [95, 236, 188,  55, 208, 128, 161, 249, 171, 57, 141, 7]

bytesToHex

Convert an UInt8Array to hex.

import { bytesToHex } from @xrplf/isomorphic/utils

console.log(bytesToHex([222, 173, 190, 239])) // "DEADBEEF"

hexToBytes

Convert hex to an UInt8Array.

import { hexToBytes } from @xrplf/isomorphic/utils

console.log(hexToBytes('DEADBEEF')) // [222, 173, 190, 239]

hexToString

Converts hex to its string equivalent. Useful to read the Domain field and some Memos.

import { hexToString } from @xrplf/isomorphic/utils

console.log(hexToString('6465616462656566D68D')) // "deadbeef֍"

stringToHex

Converts a utf-8 to its hex equivalent. Useful for Memos.

import { stringToHex } from @xrplf/isomorphic/utils

console.log(stringToHex('deadbeef֍')) // "6465616462656566D68D"

@xrplf/isomorphic/ws

import WebSocket from '@xrplf/isomorphic/ws'

const socket = new WebSocket('wss://localhost:8080')

Current Tags

  • 1.0.0-beta.1                                ...           beta (a year ago)
  • 1.0.1                                ...           latest (5 months ago)

4 Versions

  • 1.0.1                                ...           5 months ago
  • 1.0.0                                ...           9 months ago
  • 1.0.0-beta.1                                ...           a year ago
  • 1.0.0-beta.0                                ...           a year ago
Downloads
Total 1
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (3)
Dev Dependencies (2)

© 2010 - cnpmjs.org x YWFE | Home | YWFE