A Svelte 5 Web3 library based on Wagmi, providing seamless integration of Web3 functionality into your Svelte applications.
This repository contains two main parts:
src/lib/wagmi
src/routes
Add this package to your Svelte5 project:
npm install @kredeum/wagmi-svelte5
# or
pnpm install @kredeum/wagmi-svelte5
# or
yarn add @kredeum/wagmi-svelte5
<script lang="ts">
import { newWagmi } from "@kredeum/wagmi-svelte5";
import { Counter } from "$lib/examples/Counter.svelte";
newWagmi();
const counter = new Counter();
</script>
{counter.number}Ā² = {counter.square(counter.number)}
import { SmartContract } from "$lib/wagmi";
export class Counter extends SmartContract {
get number() {
return this.call("number") as bigint;
}
square(num: number | bigint) {
return this.call("square", [num]) as bigint;
}
constructor() {
super("Counter");
}
}
<script lang="ts">
import { newWagmi, SmartContract } from "@kredeum/wagmi-svelte5";
newWagmi();
const contract = new SmartContract("Counter");
const num = $derived(contract.call("number"));
const square = $derived(contract.call("square", [num]));
</script>
{num}Ā² = {square}
// Counter.sol
contract Counter is ICounter {
uint256 public number;
function square(uint256 num) public pure override(ICounter) returns (uint256) {
return num ** 2;
}
...
}
Full Counter.sol code deployed on Base Sepolia testnet can be Viewed here: š on BaseScan
The demo app in src/routes
showcases various package features and usage patterns.
Your local machine needs:
Optional but recommended:
Get started with the examples:
# Clone the repository
git clone https://github.com/kredeum/wagmi-svelte5.git
cd wagmi-svelte5
# Install dependencies
pnpm install
# Run the demo app
turbo start
# or without Turborepo
pnpx turbo start
š Your browser will open to http://localhost:5173 showing the Tests
page
We welcome contributions! Feel free to:
MIT License - see the LICENSE file for details.
zapaz.eth zapaz@kredeum.com (http://labs.kredeum.com/)