Skip to content

0xweb-org/dequanto

Repository files navigation

dequanto

Documentation Link CircleCI NPM version

A flexible and all-in-one library for EVM Blockchain Developers and Consumers. Based on your requirements and expertise, this library can either fully abstract the Blockchain Layer with autogenerated classes for contract communication or give you direct access to low-level methods.

This library includes numerous classes to cover all facets of blockchain development. Here’s a summary of some key features:

✨ Generate ES6 classes with TypeScript support

Create contract clients based on ABI or source code, which can be automatically retrieved from blockchain explorers by address.

This can serve as an all-in-one tool for submitting transactions, querying contracts, or fetching events, as the contract clients handle the underlying steps.


🌐 RPC Clients

A robust communication layer to connect to blockchain nodes. You can add multiple nodes (private or public) to the pool to manage

  • request balancing
  • throttling
  • rate limits
  • automatic retries

🏗️ Transaction Builder

Provides fine-tuning for transaction submission. Supports Gnosis {Safe}, Account Abstraction Transactions and Flashbots.

💠 Etherscan & Co Clients

An integrated API for blockchain explorers.

🔎 Event Indexer

An easy-to-use indexer for fetching contract events with file persistence layer and pause-resume progress.

👀 Event and Transaction Watcher

Listen to events and monitor transactions in real-time.

🔢 Native BigInt Types with BigFloat Support for Mantissa Math

📦 Pre-generated OpenZeppelin Contracts

⬇️ Installation

Using 0xweb CLI

You can use the 0xweb tool to install contracts and dependencies.

NPM

Install the library using npm:

npm i dequanto

The package includes three types of source files:

  1. Compiled CommonJS (CJS) Files: Located at node_modules/dequanto/lib/cjs/*/**.js
  2. Compiled ESM (Modules): Located at node_modules/dequanto/lib/esm/*/**.mjs
  3. TypeScript Sources: Located at node_modules/dequanto/src/*/**.ts

Node and Build environments will automatically detect between 1 and 2 based on your project setup.

🛠️ Configuration

While the library includes configurations for various blockchains and {Safe} infrastructure, you may need to set custom RPC URLs, Blockchain Explorer API Keys, and other settings. This can be done in a YAML configuration file that loads when the application starts.


🏁 (c) 2024 0xweb.org

Releases

No releases published

Packages

No packages published

Languages