https://github.com/theqrl/web3.js
https://github.com/theqrl/web3.js
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/theqrl/web3.js
- Owner: theQRL
- License: other
- Created: 2023-10-11T09:13:29.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2026-05-03T19:38:42.000Z (about 1 month ago)
- Last Synced: 2026-05-03T21:12:44.735Z (about 1 month ago)
- Language: TypeScript
- Size: 14.3 MB
- Stars: 1
- Watchers: 1
- Forks: 5
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# QRL Web3.js
[](https://github.com/theQRL/web3.js/actions/workflows/ci.yml)
[](https://github.com/theQRL/web3.js/actions/workflows/actionlint.yml)
[![npm downloads][downloads-image]][npm-url]




QRL Web3.js is a TypeScript implementation of QRL JSON-RPC client tooling maintained by [The QRL Contributors](https://theqrl.org/).
This fork is being prepared for audit and first release under the `@theqrl` npm organization. Until that release is cut, treat `main` as unreleased.
## Installation
Published releases will be available from [npm](https://www.npmjs.com/package/@theqrl/web3). Local development uses [pnpm](https://pnpm.io/).
After the first audited release:
```bash
npm install @theqrl/web3
```
```bash
pnpm add @theqrl/web3
```
## Getting Started
- If you have questions [submit an issue](https://github.com/theQRL/web3.js/issues/new/choose) or join us on [Discord](https://theqrl.org/discord).

## Prerequisites
- [NodeJS](https://nodejs.org/) (20 or newer)
- [pnpm](https://pnpm.io/) and [Turbo](https://turbo.build/)
## Useful links
- [QRL website](https://theqrl.org/)
- [QRL Discord](https://theqrl.org/discord)
- [Repository issues](https://github.com/theQRL/web3.js/issues/new/choose)
## Architecture Overview
Package names follow the repository policy in
[`docs/package-naming.md`](docs/package-naming.md); `@theqrl/abi` is the
documented foundational ABI-coder exception to the `@theqrl/web3-*` runtime
package pattern.
| Package | npm | Docs | Description |
| --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------ | ---------------------------------------------------------------------------------- |
| [`@theqrl/abi`](https://github.com/theQRL/web3.js/tree/main/packages/abi) | [npm](https://www.npmjs.com/package/@theqrl/abi) | [API](https://docs.theqrl.org/api/abi) | ABI encoding and decoding helpers. |
| [`@theqrl/web3`](https://github.com/theQRL/web3.js/tree/main/packages/web3) | [npm](https://www.npmjs.com/package/@theqrl/web3) | [API](https://docs.theqrl.org/api/web3) | Main QRL Web3.js package. |
| [`@theqrl/web3-core`](https://github.com/theQRL/web3.js/tree/main/packages/web3-core) | [npm](https://www.npmjs.com/package/@theqrl/web3-core) | [API](https://docs.theqrl.org/api/web3-core) | Shared core classes, request management, subscriptions, and plugin infrastructure. |
| [`@theqrl/web3-errors`](https://github.com/theQRL/web3.js/tree/main/packages/web3-errors) | [npm](https://www.npmjs.com/package/@theqrl/web3-errors) | [API](https://docs.theqrl.org/api/web3-errors) | Shared error types. |
| [`@theqrl/web3-net`](https://github.com/theQRL/web3.js/tree/main/packages/web3-net) | [npm](https://www.npmjs.com/package/@theqrl/web3-net) | [API](https://docs.theqrl.org/api/web3-net) | Network metadata helpers for QRL JSON-RPC providers. |
| [`@theqrl/web3-providers-http`](https://github.com/theQRL/web3.js/tree/main/packages/web3-providers-http) | [npm](https://www.npmjs.com/package/@theqrl/web3-providers-http) | [API](https://docs.theqrl.org/api/web3-providers-http) | HTTP provider. |
| [`@theqrl/web3-providers-ipc`](https://github.com/theQRL/web3.js/tree/main/packages/web3-providers-ipc) | [npm](https://www.npmjs.com/package/@theqrl/web3-providers-ipc) | [API](https://docs.theqrl.org/api/web3-providers-ipc) | IPC provider. |
| [`@theqrl/web3-providers-ws`](https://github.com/theQRL/web3.js/tree/main/packages/web3-providers-ws) | [npm](https://www.npmjs.com/package/@theqrl/web3-providers-ws) | [API](https://docs.theqrl.org/api/web3-providers-ws) | WebSocket provider. |
| [`@theqrl/web3-qrl`](https://github.com/theQRL/web3.js/tree/main/packages/web3-qrl) | [npm](https://www.npmjs.com/package/@theqrl/web3-qrl) | [API](https://docs.theqrl.org/api/web3-qrl) | QRL blockchain and smart-contract APIs. |
| [`@theqrl/web3-qrl-abi`](https://github.com/theQRL/web3.js/tree/main/packages/web3-qrl-abi) | [npm](https://www.npmjs.com/package/@theqrl/web3-qrl-abi) | [API](https://docs.theqrl.org/api/web3-qrl-abi) | QRVM ABI helpers. |
| [`@theqrl/web3-qrl-accounts`](https://github.com/theQRL/web3.js/tree/main/packages/web3-qrl-accounts) | [npm](https://www.npmjs.com/package/@theqrl/web3-qrl-accounts) | [API](https://docs.theqrl.org/api/web3-qrl-accounts) | QRL account and signing helpers. |
| [`@theqrl/web3-qrl-contract`](https://github.com/theQRL/web3.js/tree/main/packages/web3-qrl-contract) | [npm](https://www.npmjs.com/package/@theqrl/web3-qrl-contract) | [API](https://docs.theqrl.org/api/web3-qrl-contract) | Contract wrappers and method/event helpers. |
| [`@theqrl/web3-qrl-iban`](https://github.com/theQRL/web3.js/tree/main/packages/web3-qrl-iban) | [npm](https://www.npmjs.com/package/@theqrl/web3-qrl-iban) | [API](https://docs.theqrl.org/api/web3-qrl-iban) | QRL address and IBAN conversion helpers. |
| [`@theqrl/web3-qrl-qrns`](https://github.com/theQRL/web3.js/tree/main/packages/web3-qrl-qrns) | [npm](https://www.npmjs.com/package/@theqrl/web3-qrl-qrns) | [API](https://docs.theqrl.org/api/web3-qrl-qrns) | Quantum Resistant Name Service helpers. |
| [`@theqrl/web3-rpc-methods`](https://github.com/theQRL/web3.js/tree/main/packages/web3-rpc-methods) | [npm](https://www.npmjs.com/package/@theqrl/web3-rpc-methods) | [API](https://docs.theqrl.org/api/web3-rpc-methods) | Low-level RPC method wrappers. |
| [`@theqrl/web3-types`](https://github.com/theQRL/web3.js/tree/main/packages/web3-types) | [npm](https://www.npmjs.com/package/@theqrl/web3-types) | [API](https://docs.theqrl.org/api/web3-types) | Shared TypeScript types. |
| [`@theqrl/web3-utils`](https://github.com/theQRL/web3.js/tree/main/packages/web3-utils) | [npm](https://www.npmjs.com/package/@theqrl/web3-utils) | [API](https://docs.theqrl.org/api/web3-utils) | Utility functions for QRL applications. |
| [`@theqrl/web3-validator`](https://github.com/theQRL/web3.js/tree/main/packages/web3-validator) | [npm](https://www.npmjs.com/package/@theqrl/web3-validator) | [API](https://docs.theqrl.org/api/web3-validator) | Runtime validation helpers. |
| [`@theqrl/web3-packagetemplate`](https://github.com/theQRL/web3.js/tree/main/tools/web3-packagetemplate) | [npm](https://www.npmjs.com/package/@theqrl/web3-packagetemplate) | - | Package template for maintainers. |
| [`@theqrl/web3-plugin-example`](https://github.com/theQRL/web3.js/tree/main/tools/web3-plugin-example) | [npm](https://www.npmjs.com/package/@theqrl/web3-plugin-example) | - | Example plugin package. |
## Package.json Scripts
| Script | Description |
| ---------------- | ------------------------------------------------------------------ |
| clean | Uses `rimraf` to remove `dist/` |
| build | Uses `tsc` to build all packages |
| lint | Uses `eslint` to lint all packages |
| lint:fix | Uses `eslint` to check and fix any warnings |
| format | Uses `prettier` to format the code |
| test | Uses `jest` to run unit tests in each package |
| test:integration | Uses `jest` to run tests under `/test/integration` in each package |
| test:unit | Uses `jest` to run tests under `/test/unit` in each package |
[npm-url]: https://npmjs.org/package/@theqrl/web3
[downloads-image]: https://img.shields.io/npm/dm/@theqrl/web3?label=npm%20downloads