# Wrapper Packages

## Wrapper Packages

The KrypCore Web3 SDK includes several wrapper packages that simplify web3 DApp development. These packages provide convenient abstractions and utilities for interacting with specific functionalities and services. The following wrapper packages are currently available:

### 1. ipfs-http-client

The `ipfs-http-client` package is a wrapper for the IPFS (InterPlanetary File System) HTTP API. It provides an easy-to-use interface for uploading and retrieving files from the IPFS network.

#### Usage

<pre class="language-javascript"><code class="lang-javascript"><strong>// Import the SDK
</strong><strong>const krypcore_web3_sdk = require("krypcore-web3-sdk")
</strong>
// Provide path to config file
const configFilePath = '../../config.json'

// Initialize the SDK
const Web3Engine = new krypcore_web3_sdk.Web3Engine(configFilePath)

// Create an IPFS client
const ipfshttpclient = Web3Engine.wrappers.ipfsHttpClient(new URL(${YOUR_IPFS_CLIENT_URL})

</code></pre>

### 2. ethers

The `ethers` package is a widely-used JavaScript library for interacting with Ethereum and other EVM-compatible blockchains. It provides a simple and intuitive API for contract interaction, wallet management, and more.

#### Usage

```javascript
// Import the SDK
const krypcore_web3_sdk = require("krypcore-web3-sdk")

// Provide path to config file
const configFilePath = '../../config.json'

// Initialize the SDK
const Web3Engine = new krypcore_web3_sdk.Web3Engine(configFilePath)

// Access the ethers package
const ipfshttpclient = Web3Engine.wrappers.ethers
```

### 3. web3modal

The `web3modal` package is a wrapper that simplifies the integration of web3 provider selection and connection handling. It offers a standardized interface for users to select their preferred wallet and seamlessly connect to your DApp.

```javascript
// Import the SDK
const krypcore_web3_sdk = require("krypcore-web3-sdk")

// Provide path to config file
const configFilePath = '../../config.json'

// Initialize the SDK
const Web3Engine = new krypcore_web3_sdk.Web3Engine(configFilePath)

// Access the web3Modal package
const ipfshttpclient = Web3Engine.wrappers.web3Modal
```


---

# 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.krypcore.com/dev-docs/sdk-reference/wrapper-packages.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.
