Sign/Verify a message
You can sign and verify messages in just 1 line of code.
With Cometh Connect, we deploy a smart account for our users.
With Connect, we deploy the smart account at the first transaction of the user, allowing to reduce gas cost for our clients (it's a feature called lazy deployment). You might want to verify the signature of a wallet that is not yet deployed. We follow the ERC6492 standard to enable this.
In practice, this is what it looks like:
import { createPublicClient, http } from "viem"
const message = "hello world";
const signature = await smartAccountClient.account.signMessage({ message });
export const publicClient = createPublicClient({
chain,
transport: http()
})
const valid = await publicClient.verifyMessage({
address: smartAccountClient.account.address,
message,
signature,
})
Last updated