KrypC Web3 JavaScript SDK
Your Gateway to Unlock Web3
This package aims to simplify a developer's experience in building web3 products by providing them with a simple and easy to use suite of tools and methods to accelerate development.
- Quick and easy setup
- Ready to use Infrastructure
- Multiple Protocols Support
- Different suites for development
Currently, the SDK supports the following chains. We are working to add more chains.
Chain Name | Chain ID |
---|---|
Polygon Mainnet |
137 |
Polygon Mumbai Testnet |
80001 |
Ethereum Mainnet |
1 |
Ethereum Goerli Testnet |
5 |
The usage of the SDK requires an API key which can be obtained through the KrypC portal after reegistration.
Install the package from npm registry using the following command:
npm i @krypc/web3-sdk
Once installed, you can use it by following the steps below:
// Import the krypc web3 SDK
const sdk = require("@krypc/web3-sdk")
// Initialize the web3 Engine with your API key
const Web3Engine = new sdk.Web3Engine(<API_KEY>)
Once the Web3Engine is initialized with the API key, you can use all the features of the SDK.
The SDK offers various methods based on the various suites supported by the SDK. Suites are meant to simplify usage and provide you methods based on particular categories.
- Wallet Suite
- Storage Suite
- NFT Suite
- Utils Suite
- Marketplace Suite
All of the methods available will be described in the below sections.
Method Usage | Input Parameters | Returns | Description |
---|---|---|---|
Web3Engine.Wallet.getBalance |
Address, ChainID | Native token balance in Wei | Get native token balance across supported chains |
Web3Engine.Wallet.transfer |
receiver_address, signer, transfer_amount (in wei) | Tx Hash | Transfer native token to any address across our supported chains |
Web3Engine.Wallet.getERC20Balance |
User Address, Contract Address, Chain ID | Balance of ERC-20 tokens | Get any ERC-20 token balance across our supported chains |
Web3Engine.Wallet.transferERC20 |
receiver_address, signer, Contract Address, transfer_amount (in wei) | Tx Hash | Transfer ERC-20 tokens across our supported chains |
Web3Engine.Wallet.signMessage |
message, signer | ECDSA signature | Generate ECDSA signature of a message from wallet |
Web3Engine.Wallet.verifySignatureonChain |
message, ECDSA signature, signer Address | boolean | Verify signature on-chain through a deployed smart contract (gasless) |
Web3Engine.Wallet.verifySignatureOffChain |
message, ECDSA signature, signer Address | boolean | Verify signature off-chain |
Web3Engine.Wallet.getCurrentChainId |
Ethers provider | ChainID | Get chain ID of currently connected network |
Web3Engine.Wallet.getCurrentChainName |
Ethers provider | Chain Name | Get chain name of currently connected network |
Web3Engine.Wallet.switchNetwork |
provider, chainID | status | Switch network |
Method Usage | Input Parameters | Returns | Description |
---|---|---|---|
Web3Engine.Storage.uploadtoIPFS |
File | CID Hash | Upload any file to IPFS and get the CID associated with it. |
Web3Engine.Storage.getFileFromIPFS |
CID Hash | file content | Retrieve a file from IPFS using the CID |
Web3Engine.Storage.getGatewayLink |
CID Hash | Gateway URL | Get the IPFS URL of the file using CID |
Method Usage | Input Parameters | Returns | Description |
---|---|---|---|
Web3Engine.Utils.connectWallet |
Wallet Array (possible options: coinbase, walletconnect) | provider, signer | Provide multiple wallet connection options by passing input as array of required wallets. Metamask is supported by default. |
Web3Engine.Utils.resolveAddresstoENS |
Address | ENS Name | Returns ENS Domain associated with address |
Web3Engine.Utils.resolveENStoAddress |
ENS Name | Address | Returns address associated with an ENS Domain |
Web3Engine.Utils.deployContract |
signer, abi, bytecode, constructor args | contract address | Returns address of deployed contract |
Web3Engine.Utils.callContractMethod |
signer, contractAddress, abi, methodName, args | contract address | Allows you to make a transaction with any deployed contract |
Web3Engine.Utils.callContractViewMethod |
provider, contractAddress, abi, methodName, args | contract address | Allows you to call any view functions in the contract (no gas) |
Method Usage | Input Parameters | Returns | Description |
---|---|---|---|
Web3Engine.Nft.createNftCollection |
signer, collectionName, symbol | contract address | Create an NFT collection across our supported chains |
Web3Engine.Nft.mintNfttoCollection |
signer, contractAddress, nftName, nftDescription, nftContent | Tx Hash | Mint a NFT to your collection across our supported chains |
For support, email or join our Discord channel.
Contributions are always welcome!
See contributing.md
for ways to get started.
Please adhere to this project's code of conduct
.