@zlattice/lattice-js
v1.0.10
Published
Lattice blockchain TypeScript SDK with dual module support (CJS + ESM)
Maintainers
Readme
Overview
LatticeJS is a comprehensive SDK implemented in TypeScript for blockchain interactions with the Lattice network. This library provides a set of tools for cryptographic operations, wallet management, and blockchain communication.
Features
- Dual Module Support: Full support for both CommonJS and ES Modules (CJS + ESM)
- Cryptographic Suite: Full implementation of SM2, SM3, and SM4 cryptographic algorithms
- Ethereum Compatibility: Built with ethers.js components for seamless Ethereum integration
- Wallet Management: Secure key generation and management
- Provider System: Flexible connection to various blockchain nodes
- Robust Logging: Built-in logging system with rotation capabilities
- TypeScript First: Complete type definitions for enhanced development experience
Installation
npm install @zlattice/lattice-js
# or with pnpm
pnpm add @zlattice/lattice-jsModule Support
This library supports both module systems:
- ES Modules (ESM): Modern
importsyntax with tree-shaking support - CommonJS (CJS): Traditional
require()syntax for Node.js compatibility
Node.js will automatically choose the appropriate format based on your project configuration.
Quick Start
// ESM
import { LatticeClient, Address, Curves } from '@zlattice/lattice-js';
// CJS
const { LatticeClient, Address, Curves } = require('@zlattice/lattice-js');
const client = new LatticeClient({ rpcUrl: 'http://localhost:8000' });
const address = new Address('zltc_QLbz7JHiBTspS962RLKV8GndWFwjA5K66');For detailed usage examples, see examples/README.md.
Core Dependencies
- Ethers Components - Ethereum utilities and cryptography
- Noble Curves - High-security, easily auditable elliptic curve cryptography
- Noble Hashes - Secure, auditable hashing implementations
- Axios - Promise-based HTTP client for browser and Node.js
- Pino - Super fast, all-natural JSON logger
- Zod - TypeScript-first schema validation
Testing
This project uses Vitest for testing with coverage reporting:
# Run tests
npm test
# Run tests with coverage
npm run coverage
# Watch mode for development
npm run test:watchIf you encounter module-related issues, try cleaning your dependencies:
rm -rf node_modules
npm cache clean --force
npm installDocumentation
Comprehensive documentation is being built with VitePress.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the Apache-2.0 License - see the LICENSE file for details.
