JavaScript Client SDK library built with Typescript that provides an interface for NiftyKit Drops.
- Install via npm
npm install dropkit.js
- Import via CDN
<script src="https://unpkg.com/dropkit.js/dist/umd/index.js"></script>
<!-- Import DropKit.js library -->
<script src="https://unpkg.com/dropkit.js/dist/umd/index.js"></script>
<script>
document.getElementById('mint_btn').onclick = async function mint() {
const drop = await DropKit.create('sdk-api-key-here'); // Supply API key
await drop.mint(1); // Number of NFTs to mint
}
</script>
This package uses Web3modal, which allows you to connect to multiple wallets. See the Providers Options
You can add your custom providers into the create
method like this:
import Torus from '@toruslabs/torus-embed'
import WalletConnectProvider from '@walletconnect/web3-provider'
import WalletLink from 'walletlink'
const providers = {
walletconnect: {
package: WalletConnectProvider,
options: {
infuraId: YOUR_INFURA_ID,
},
},
torus: {
package: Torus,
},
walletlink: {
package: WalletLink,
options: {
infuraId: YOUR_INFURA_ID,
},
},
}
// and then init the Dropkit instance
const dropkit = await DropKit.create('sdk-api-key-here', false, providers);
class DropKit {
static create(key: string, isDev?: boolean, providerOptions?: IProviderOptions): Promise<DropKit | null>;
price(): Promise<BigNumber>;
maxPerMint(): Promise<number>;
maxPerWallet(): Promise<number>;
walletTokensCount(): Promise<number>;
totalSupply(): Promise<number>;
saleActive(): Promise<boolean>;
presaleActive(): Promise<boolean>;
auctionActive(): Promise<boolean>;
auctionDuration(): Promise<number>;
auctionPrice(): Promise<BigNumber>;
auctionStartedAt(): Promise<number>;
generateProof(): Promise<ProofApiResponse & ErrorApiResponse>;
mint(quantity: number): Promise<ContractReceipt | null>;
}