Key Concepts for Web2 Developers
If you’re new to blockchain development, here are the key terms you’ll encounter, explained using familiar web2 concepts:Wallet
Web2 Equivalent: Bank account or user account A wallet is like a bank account on the blockchain. It has:- An address (like an account number) - where you receive funds
- A private key (like a password) - used to authorize transactions
- A public key (like a username) - derived from the private key, can be shared
Signer
Web2 Equivalent: Authentication/Authorization system A signer is what proves you own a wallet and authorizes transactions. Think of it like:- OAuth tokens - prove you’re logged in
- API keys - authorize API calls
- Digital signatures - prove you authorized a transaction
- Private Key Signer - Like storing a password locally (for servers only)
- Privy Signer - Like OAuth, keys managed by a service
- Cartridge Signer - Like social login, keys managed by Cartridge
RPC (Remote Procedure Call)
Web2 Equivalent: API endpoint An RPC endpoint is like a REST API endpoint, but for blockchain operations. It’s how your app communicates with the blockchain network to:- Read data (like checking balances)
- Submit transactions (like sending tokens)
- Query the network state
fetch() to a blockchain API instead of your own backend.
Network / Chain
Web2 Equivalent: Environment (production, staging, development)- Mainnet = Production - Real money, real transactions
- Testnet (Sepolia) = Staging - Fake money for testing
- Devnet = Local development - Your own test blockchain
production, staging, and localhost environments.
Gas / Transaction Fees
Web2 Equivalent: Credit card processing fees or API usage costs Gas is the fee paid to process transactions on the blockchain. Think of it like:- Credit card processing fees (2-3% per transaction)
- AWS API Gateway costs (pay per request)
- Stripe transaction fees
- User pays - User covers the gas fee (like normal)
- Sponsored - You pay the gas fee for users (like offering free shipping)
Address
Web2 Equivalent: Account number, email address, or user ID An address is a unique identifier for a wallet on the blockchain. It’s like:- A bank account number (where you send money)
- An email address (where you send messages)
- A user ID in your database
0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d
Private Key
Web2 Equivalent: Password or secret key A private key is a secret that proves you own a wallet. It’s like:- A password for your bank account
- An API secret key
- A JWT signing key
Public Key
Web2 Equivalent: Username or public identifier A public key is derived from a private key and can be shared. It’s like:- A username (public, can be shared)
- An email address (public identifier)
- A user ID (public reference)
Transaction
Web2 Equivalent: API request or database operation A transaction is an operation on the blockchain, like:- Sending tokens (like a bank transfer)
- Calling a smart contract function (like an API call)
- Deploying a contract (like deploying a service)
- Immutable - Once confirmed, can’t be changed (like a database commit)
- Public - Anyone can see them (like public API logs)
- Atomic - Either fully succeed or fully fail (like database transactions)
Deploy
Web2 Equivalent: Creating an account or provisioning a service On Starknet, wallets are smart contracts that need to be “deployed” (created on the blockchain) before they can be used. It’s like:- Creating a new user account in your database
- Provisioning a new AWS service
- Setting up a new bank account
deploy: "if_needed".
Token / ERC20
Web2 Equivalent: Currency or digital asset A token is like a currency or digital asset on the blockchain. Think of it like:- Bitcoin - A cryptocurrency
- USDC - A stablecoin (like digital dollars)
- STRK - Starknet’s native token
- Custom tokens - Like loyalty points or in-game currency
Staking
Web2 Equivalent: Savings account or investment Staking is like putting money in a savings account that earns interest. You:- Lock up tokens (like depositing money)
- Earn rewards over time (like interest)
- Can withdraw later (like closing the account)
wallet.enterPool().
Smart Contract
Web2 Equivalent: Backend service or API A smart contract is code that runs on the blockchain. Think of it like:- A backend API endpoint
- A microservice
- A database stored procedure
- Run on the blockchain (decentralized)
- Can’t be changed once deployed (immutable)
- Execute automatically when called
Account Preset
Web2 Equivalent: Account type or user role An account preset defines what type of wallet account to create. It’s like:- Choosing between “Personal” vs “Business” account types
- Selecting a user role (admin, user, guest)
- Picking a subscription tier
Common Patterns
Checking a Balance
Web2 Equivalent:SELECT balance FROM accounts WHERE user_id = ?
Sending Tokens
Web2 Equivalent:UPDATE accounts SET balance = balance - amount WHERE user_id = ?
Waiting for Confirmation
Web2 Equivalent: Polling an API until a job completesStill Confused?
If you’re still unsure about a term, think of it this way:- Blockchain = A distributed database that everyone can read/write
- Wallet = A user account on that database
- Transaction = A write operation to that database
- Token = A number in that database representing value
- Connect a wallet (like logging in)
- Check balances (like querying a database)
- Send tokens (like making an API call)