Staking & Yield

StakingFree Lesson

Advertisement

Staking & Yield

Staking mechanisms, liquid staking, yield strategies, and reward distribution.

Overview

Staking secures networks and earns rewards.

Staking Types

TypeDescription
NativeNetwork validation
LiquidityLP staking
ProtocolGovernance staking
LiquidTransferable tokens

Staking Contract

contract Staking {
    mapping(address => uint256) public staked;
    mapping(address => uint256) public rewards;
    uint256 public rewardRate;
    
    event Staked(address user, uint256 amount);
    event Withdrawn(address user, uint256 amount);
    event RewardsClaimed(address user, uint256 amount);
    
    function stake() public payable {
        require(msg.value > 0);
        staked[msg.sender] += msg.value;
        emit Staked(msg.sender, msg.value);
    }
    
    function withdraw(uint256 amount) public {
        require(staked[msg.sender] >= amount);
        staked[msg.sender] -= amount;
        payable(msg.sender).transfer(amount);
        emit Withdrawn(msg.sender, amount);
    }
    
    function claimRewards() public {
        uint256 reward = calculateReward(msg.sender);
        rewards[msg.sender] = 0;
        payable(msg.sender).transfer(reward);
        emit RewardsClaimed(msg.sender, reward);
    }
    
    function calculateReward(address user) public view returns (uint256) {
        return staked[user] * rewardRate / 100;
    }
}

Liquid Staking

class LiquidStaking:
    def __init__(self, total_staked):
        self.total_staked = total_staked
        self.shares = total_staked
        self.reward_pool = 0
    
    def deposit(self, amount):
        shares = amount * self.shares / self.total_staked
        self.total_staked += amount
        self.shares += shares
        return shares
    
    def withdraw(self, shares):
        amount = shares * self.total_staked / self.shares
        self.total_staked -= amount
        self.shares -= shares
        return amount
    
    def get_exchange_rate(self):
        return self.total_staked / self.shares

Yield Strategies

StrategyRiskAPY
StakingLow4-8%
LP providingMedium10-20%
Yield farmingHigh20-100%
LeveragedVery High50%+

Best Practices

  1. Diversify — Multiple protocols
  2. Impermanent loss — Monitor LP positions
  3. Smart contract risk — Audit verification
  4. Gas optimization — Batch operations

Practice

Build a liquid staking protocol.

Advertisement

Need Expert Blockchain Help?

Get personalized Web3 training or smart contract consulting.

Advertisement