How to export a private key from Phantom to a Keypair file
Did you create a wallet directly from Phantom and now you want to use it in the Solana CLI? This simple tutorial explains how to do that.
Export from Phantom
Go to Settings and then click Export Private Key
Enter your password
Copy the base58 private key
Generating the Keypair file
Change the PRIVATE_KEY
and PUBLIC_KEY
values to the ones you want to export.
You can also set PRIVATE_KEY
as an environment variable. Live code here
import { Keypair } from '@solana/web3.js';
import base58 from "bs58";
import * as fs from 'fs';
const PRIVATE_KEY = ""; // Private key from phantom
const PUBLIC_KEY = ""; // Fill with your address to verify
const secret = base58.decode(PRIVATE_KEY);
// Check if the pk is correct
const pair = Keypair.fromSecretKey(secret);
if (pair.publicKey.toString() == PUBLIC_KEY) {
fs.writeFileSync(
'private_key.json',
JSON.stringify(Array.from(secret))
);
}
Setting the Keypair file to Solana CLI
Once the file is created you can set the Keypair path with this command
solana config set -k path/to/keypair/private_key.json
All set!
To check if the file was set correctly you can use solana address
it will show your wallet address.