- React
- Browser SDK
- React Native
Report incorrect code
Copy
Ask AI
import { useSolana } from "@phantom/react-sdk";
function SignMessage() {
const { solana } = useSolana();
const sign = async () => {
const message = "Hello, please sign this message to verify your identity.";
const { signature, publicKey } = await solana.signMessage(message);
console.log("Signature:", signature);
console.log("Public key:", publicKey);
return signature;
};
return <button onClick={sign}>Sign Message</button>;
}
Report incorrect code
Copy
Ask AI
import { BrowserSDK, AddressType } from "@phantom/browser-sdk";
const sdk = new BrowserSDK({
providers: ["google", "apple", "injected"],
appId: "your-app-id",
addressTypes: [AddressType.solana],
});
const { signature, publicKey } = await sdk.solana.signMessage("Sign to verify");
console.log("Signature:", signature);
console.log("Public key:", publicKey);
Report incorrect code
Copy
Ask AI
import { useSolana } from "@phantom/react-native-sdk";
import { View, Button, Alert, StyleSheet } from "react-native";
function SignMessage() {
const { solana } = useSolana();
const sign = async () => {
try {
const message = "Hello, please sign this message to verify your identity.";
const { signature, publicKey } = await solana.signMessage(message);
Alert.alert("Signed!", `Public key: ${publicKey}`);
return signature;
} catch (error) {
Alert.alert("Error", error instanceof Error ? error.message : "Signing failed");
throw error;
}
};
return (
<View style={styles.container}>
<Button title="Sign Message" onPress={sign} />
</View>
);
}
const styles = StyleSheet.create({
container: {
padding: 20,
gap: 10,
},
});