rsk-utils
A collection of JavaScript utility functions for Rootstock.
@rsksmart/rsk-utils
is a library of utility functions designed to simplify working with the Rootstock blockchain ecosystem. It supports both CommonJS and ECMAScript Module (ESM) environments, making it versatile and easy to integrate into various projects.
Features
- Supports CommonJS and ESM module systems.
- Utility functions for working with addresses, bytes, and blockchain-specific operations.
- TypeScript definitions included for better type safety.
- Lightweight and easy to use.
Installation
Install the library via npm:
npm install @rsksmart/rsk-utils
Usage
CommonJS
For CommonJS environments:
const rskUtils = require('@rsksmart/rsk-utils');
const { toChecksumAddress } = rskUtils;
console.log(toChecksumAddress('0x27b1FdB04752bBc536007a920D24ACB045561c26', 30));
ESM
For ECMAScript Module (ESM) environments:
import { toChecksumAddress } from '@rsksmart/rsk-utils';
console.log(toChecksumAddress('0x27b1FdB04752bBc536007a920D24ACB045561c26', 30));
API Reference
Functions
toChecksumAddress(address: string, chainId: number | string): string
Generates a checksummed address according to EIP-1191.
- Parameters:
address
(string): The address to checksum.chainId
(number | string): The chain ID for the network.
- Returns: A string representing the checksummed address.
isValidChecksumAddress(address: string, chainId: number | string): boolean
Validates whether an address has a correct checksum for a specific chain ID.
- Parameters:
address
(string): The address to validate.chainId
(number | string): The chain ID used for checksum validation.
- Returns:
true
if the checksum is valid, false
otherwise.
isAddress(address: string): boolean
Checks if a given string is a valid address.
- Parameters:
address
(string): The address to validate.
- Returns: true if valid, false otherwise.
Testing
Run the test suite to ensure the library works as expected:
npm run test
This will execute unit tests and display the results.
Contributing
We welcome contributions to improve this library. Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Write clear commit messages and add tests for any changes.
- Submit a pull request with a detailed explanation of your changes.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Support
If you encounter any issues or have questions, feel free to open an issue on GitHub.