In Solana, our identity is checked with a keypair: a public key, which is your address (a Solana address is a 32-byte Ed25519 public key encoded in Base58—for example, 14grJpemFaf88c8tiVb77W7TYg2W3ir6pfkKz3YjhhZ5. Base58 is chosen deliberately because it removes visually ambiguous characters like 0, O, I, and l), and a private key, which is the proof of ownership (called an "on-chain identity").
Unlike in Web2, where your identity is scattered across dozens of services—you have a username on GitHub, an email address at work, and a phone number with your bank—each identity is controlled by the service provider, and none of them "talk" to each other unless someone builds an integration.
Solana's system works exactly like SSH keys, but it is your identity for the entire blockchain network, not just a single server. It is designed this way for security purposes; instead of having username and password credentials held in someone else’s database (which allows a company to have control over your account), only you, as the holder of the private key, can sign transactions. Without this, you cannot initiate a transaction on the blockchain or access your wallet.
There are several ways to create a keypair identifier for Solana. The first we will see is CLI generation for development purposes. First, you will need to install it with this command:
sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"
Then, create a keypair with solana-keygen new and configure it to Devnet (the network for testing in a development environment) with solana config set --url devnet. You can see your address or public key with the command solana address.
To make it easier, you can get the Phantom extension or other wallet apps to do this automatically. These apps store the private key in the browser's storage, which is generally more secure than the CLI method because the CLI stores the private key in a plain config.json file.
Top comments (0)