HeartBit Core
Introduction
This is the core of the HeartBit functionality. It exposes the APIs that are crucial for implementing HeartBit functionalities.
Getting Started
Installation
You can install the package using either npm
or yarn
:
npm install --save @fileverse/heartbit-core
yarn add @fileverse/heartbit-core
Import and Use the Package
import { HeartBitCore } from "@fileverse/heartbit-core";
Configure the Package
The SDK utilizes coreOption
to configure the network for user interactions.
const coreSDK = new HeartBitCore({
chain: "0xaa36a7",
});
Example Usage - mintHeartBit (Signed Mint)
This minimal example demonstrates how to use HeartBitCore
for minting and querying data.
async function main() {
const message = "Hello World!";
const signature = "0x...signed message";
const startTime = 1706898250;
const endTime = 1706898251;
const hash = "ipfs://somecid";
await coreSDK.mintHeartBit({
message,
signature,
startTime,
endTime,
hash,
});
const totalSupply = await coreSDK.getTotalHeartBitCountByHash({ hash });
const address = "0x...ethaddress";
const mintsByUser = await coreSDK.getHeartBitByUser({
hash,
address,
});
}
Here is a link to a working example using HeartBitCore
.
Example Usage - unSignedMintHeartBit (Unsigned Mint)
This minimal example demonstrates how to use HeartBitCore
for minting heartbit without signature.
async function main() {
const startTime = 1706898250;
const endTime = 1706898251;
const hash = "ipfs://cid";
const apiKey = "hello";
const address = "0x...ethaddress";
await coreSDK.unSignedMintHeartBit({
startTime,
endTime,
hash,
account: address,
apiKey,
});
const totalSupply = await coreSDK.getTotalHeartBitCountByHash({ hash });
const mintsByUser = await coreSDK.getHeartBitByUser({
hash,
address,
});
}
Interfaces
type SupportedChain = "0xaa36a7" | "0x2105" | "0x64";
interface HeartBitCoreOptions {
chain: SupportedChain;
rpcUrl?: string;
}
interface TotalHeartBitCountArgs {
hash: string;
}
interface HeartBitCountByUserArgs {
hash: string;
address: string;
}
interface MintHeartBitArgs {
message: string;
signature: string;
startTime: number;
endTime: number;
hash: string;
}
interface UnSignedMintArgs {
startTime: number;
endTime: number;
hash: string;
account: string;
apiKey: string;
}
Checkout HeartBit React which uses the HeartBitCore
to integrate HeartBit functionality in a react app.