# Libraries

Explore the key libraries available for interacting with smart contracts on Taker Chain and other Polkadot-based networks. These libraries simplify tasks like contract calls, event listening, and transaction handling, making it easier to build and maintain blockchain applications.

This section includes setup instructions, usage examples, and a comparison of libraries to help you select the best tool for your project.

***

#### **Library Comparison**

When choosing a library for your project, consider the following features:

| **Library**   | **Language Support**   | **Type Safety**           | **Performance**                      | **Best For**                                 |
| ------------- | ---------------------- | ------------------------- | ------------------------------------ | -------------------------------------------- |
| **Ethers.js** | JavaScript, TypeScript | Limited                   | Efficient, widely optimized          | General dApp development                     |
| **Web3.js**   | JavaScript, TypeScript | Limited                   | Older codebase, less performant      | Legacy projects, existing Web3.js users      |
| **viem**      | TypeScript only        | Strong TypeScript support | Lightweight, optimized for bundling  | TypeScript-heavy projects, modular workflows |
| **Wagmi**     | TypeScript, React      | Strong TypeScript support | React hooks-based, efficient caching | React applications, hook-based development   |
| **Web3.py**   | Python                 | Python typing support     | Standard Python performance          | Python-based blockchain applications         |

***

#### **Warning**

**Web3.js has been sunset.** While it is still usable for existing projects, it is no longer actively maintained. For new projects, consider using **Ethers.js** or **viem** for JavaScript/TypeScript-based workflows. Guides for these libraries are available in this section.

***

#### **In This Section**

**Ethers.js**

A lightweight and widely used JavaScript/TypeScript library for interacting with Ethereum-compatible networks. Learn how to use **Ethers.js** to compile and deploy Solidity contracts, interact with deployed smart contracts, and handle transactions efficiently on Taker Chain.

**Web3.js**

Although sunset, Web3.js remains a popular choice for legacy projects. This guide explains how to use **Web3.js** to interact with Taker Chain, including deploying and interacting with smart contracts.

**Web3.py**

A Python library for interacting with Ethereum-compatible chains. Learn how to use **Web3.py** to deploy Solidity contracts, interact with smart contracts, and handle transactions on Taker Chain.

**viem**

A modern, lightweight TypeScript library optimized for modular workflows. This guide covers how to use **viem** to deploy and interact with smart contracts on Taker Chain, making it ideal for TypeScript-heavy projects.

**Wagmi**

A React-based library that provides hooks for interacting with Ethereum-compatible networks. Learn how to use **Wagmi** to fetch and interact with smart contracts on Taker Chain, enabling seamless integration into React-based dApps.

***

Choose the library that aligns with your project's language, type safety requirements, and performance needs. Start building with the best tools for Taker Chain today!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.taker.xyz/taker/developers/evm-developers/libraries.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
