Quick start
Get from zero to a working confidential transfer in under 5 minutes.
Authentication
Install
pnpm add @zama-fhe/sdk @zama-fhe/react-sdk @tanstack/react-query wagmi viempnpm add @zama-fhe/sdk viempnpm add @zama-fhe/sdk etherspnpm add @zama-fhe/sdk viempnpm add @zama-fhe/sdk ethersSet up the SDK
import { WagmiProvider, createConfig, http } from "wagmi";
import { sepolia } from "wagmi/chains";
import { injected } from "wagmi/connectors";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { ZamaProvider } from "@zama-fhe/react-sdk";
import { web } from "@zama-fhe/sdk/web";
import { createConfig as createZamaConfig } from "@zama-fhe/react-sdk/wagmi";
import { sepolia as sepoliaFhe, type FheChain } from "@zama-fhe/sdk/chains";
const wagmiConfig = createConfig({
chains: [sepolia],
connectors: [injected()],
transports: { [sepolia.id]: http("https://sepolia.infura.io/v3/YOUR_KEY") },
});
const mySepolia = {
...sepoliaFhe,
relayerUrl: "https://your-app.com/api/relayer/11155111",
} as const satisfies FheChain;
const zamaConfig = createZamaConfig({
chains: [mySepolia],
wagmiConfig,
relayers: { [mySepolia.id]: web() },
});
const queryClient = new QueryClient();
function App() {
return (
<WagmiProvider config={wagmiConfig}>
<QueryClientProvider client={queryClient}>
<ZamaProvider config={zamaConfig}>
<MyTokenPage />
</ZamaProvider>
</QueryClientProvider>
</WagmiProvider>
);
}Your first confidential transfer
Next steps
Last updated