@ada-anvil/hodei-client
v0.0.11
Published
Build CIP-30 compliant JavaScript objects that can be injected in window.cardano to make integration of [Hodei wallet](https://hodei.io/) in web dApps seemless.
Readme
Hodei Client
Build CIP-30 compliant JavaScript objects that can be injected in window.cardano to make integration of Hodei wallet in web dApps seemless.
Usage with Weld
Hodei client seemlessly integrates with Weld's plugin system.
Installation
npm install @ada-anvil/weld-plugin-hodei @ada-anvil/weldUsage (Vanilla JS)
import { weld } from "@ada-anvil/weld";
import { builtinPlugins } from "@ada-anvil/weld/plugins";
import { hodeiPlugin } from "@ada-anvil/weld-plugin-hodei";
weld.config.update({
plugins: [...builtinPlugins, hodeiPlugin(config)],
});
weld.init();Usage (React)
import { weld } from "@ada-anvil/weld";
import { builtinPlugins } from "@ada-anvil/weld/plugins";
import { hodeiPlugin } from "@ada-anvil/weld-plugin-hodei";
export const App = ({ children }) => {
return (
<WeldProvider plugins={[...builtinPlugins, hodeiPlugin(config)]}>
{children}
</WeldProvider>
);
};Usage without Weld
Installation
npm install @ada-anvil/hodei-clientUsage
import { initialize } from "@ada-anvil/hodei-client";
// Initialize the client
const config = {
debug: true,
onError: ({ error }) => console.log("socket error:", error ?? "unknown"),
onClose: ({ code, reason }) => console.log("socket closed:", code, reason),
onWalletUpdate: (wallet) => console.log("wallet update", wallet),
};
initialize(config);
// CIP-30 API is now available in window.cardano.hodei
const wallet = await window.cardano.hodei.enable();
const utxos = await wallet.getUtxos();Non-Browser Usage
Use createInitialWalletApi to instantiate the wallet API outside of a browser context:
import { createInitialWalletApi } from "@ada-anvil/hodei-client";
const walletApi = createInitialWalletApi(config); // Takes the same config object as `initialize`
const wallet = await walletApi.enable();
const utxos = await wallet.getUtxos();