🎯 Executive Summary
With nearly 20 years of software engineering experience, I decided to make a radical shift: master the Blockchain and Web3 ecosystem from scratch. The result: 8 open-source projects ranging from online stores with their own currency to programming inside the Linux kernel. This article is the technical retrospective of that journey, with links to the source code of each project.
A Year Building in Web3
The Blockchain and Web3 Master from CodeCrypto Academy was an intense year of practical projects that covered the complete stack of the decentralized ecosystem: from Solidity smart contracts to Linux kernel programming with eBPF.
This is the retrospective of the most important projects I developed during the master program.
🗺️ The Learning Track
The master followed a logical progression, from foundations to the full stack:
flowchart LR
A[Ethereum Basics] --> B[Solidity]
B --> C[Foundry]
C --> D[Full-Stack Web3]
D --> E[DeFi / Stablecoins]
E --> F[DAOs / Governance]
F --> G[Rust]
G --> H[REST API]
H --> I[eBPF / Linux Kernel]
style A fill:#1a1a2e,stroke:#00f2ff,stroke-width:2px,color:#fff
style I fill:#1a1a2e,stroke:#00ff88,stroke-width:2px,color:#fffEach phase built upon the previous one, creating a solid foundation that allowed tackling increasingly complex projects.
🚀 The Projects
1️⃣ 🔗 SupplyChainTracker2
First full-stack Web3 project. Traceability of educational devices (netbooks) on the EVM blockchain with RBAC access control, Foundry, and Wagmi.
The problem it solves: A school needs to track the distribution and location of netbooks to students, ensuring the registry is immutable and auditable.
Stack: Solidity · Foundry · React · Wagmi v2 · Anvil
Key repository files:
contracts/SupplyChainTracker.sol- Main contract with traceability and RBAC logictest/SupplyChainTracker.t.sol- Exhaustive tests with Foundryfrontend/src/- React interface with Wagmi for on-chain interaction
2️⃣ 📄 DocumentSignStorage
Decentralized notarial registry. Allows signing and registering the existence of any document using Keccak-256 hash and EIP-712 signatures, without uploading the file to the blockchain.
The problem it solves: How to prove a document existed on a certain date without exposing its content? The solution uses cryptography to register only the "fingerprint" of the document.
flowchart LR
A[Original Document] --> B[Keccak-256 Hash]
B --> C[EIP-712 Signature]
C --> D[On-Chain Transaction]
D --> E[Immutable Registry]
F[Verification] --> G[Calculate Hash]
G --> H{Matches?}
H -->|Yes| I[✅ Valid Document]
H -->|No| J[❌ Modified Document]
style A fill:#1a1a2e,stroke:#00f2ff,stroke-width:2px,color:#fff
style E fill:#1a1a2e,stroke:#00ff88,stroke-width:2px,color:#fff
style I fill:#1a1a2e,stroke:#00ff88,stroke-width:2px,color:#fff
style J fill:#1a1a2e,stroke:#ff0066,stroke-width:2px,color:#fffStack: Solidity · EIP-712 · Foundry · Next.js 16 · Ethers.js v6
Key repository files:
contracts/DocumentSignStorage.sol- Registry contract with EIP-712 signaturesweb/app/- Next.js frontend for signing and verification
3️⃣ 🛒 Euro-Ecommerce
Decentralized e-commerce with a custom stablecoin. Complete ecosystem with EURT token (ERC-20, 6 decimals), Stripe fiat on-ramp, modular contracts, and customer and admin dApps.
The problem it solves: Integrating traditional payments (credit cards) with blockchain. The user pays with Stripe and receives EURT tokens to shop on-chain.
graph TB
subgraph Smart Contracts
SC[sc-ecommerce]
ST[stablecoin/sc/EURT.sol]
end
subgraph Web Apps
WC[web-customer]
WA[web-admin]
end
subgraph External Services
S[Stripe Payments]
end
S -->|Fiat On-ramp| WC
WC -->|Buy EURT| ST
WC -->|Shopping Cart| SC
WA -->|Management| SC
style SC fill:#1a1a2e,stroke:#00f2ff,stroke-width:2px,color:#fff
style ST fill:#1a1a2e,stroke:#00ff88,stroke-width:2px,color:#fff
style S fill:#1a1a2e,stroke:#ff00f2,stroke-width:2px,color:#fffStack: Solidity · ERC-20 · Stripe · Next.js · Wagmi
Key repository files:
stablecoin/sc/EURT.sol- ERC-20 token with 6 decimals (Euro cents)sc-ecommerce/contracts/- Modular store contractsweb-customer/- Buyer dAppweb-admin/- Admin dashboard
4️⃣ 🏛️ DAO Governance System
Gasless governance. Decentralized voting system with meta-transactions (EIP-712 + ERC-2771) and an internal Relayer that pays gas on behalf of the voter.
The problem it solves: In a traditional DAO, every vote costs gas in ETH. This excludes participants without funds. With meta-transactions, the user signs for free and an intermediary server pays the gas.
sequenceDiagram
participant U as User
participant W as Wallet
participant R as Relayer API
participant C as DAO Contract
U->>W: Sign vote EIP-712 (free)
W-->>U: Returns Signature
U->>R: POST /api/relay {signature}
R->>C: executeMetaTx(signature)
C-->>R: Vote registered on-chain
R-->>U: 200 OK {txHash}
note over U,C: The user never pays gasStack: Solidity · ERC-2771 · Foundry · Next.js · Wagmi · Viem · TanStack Query
Key repository files:
contracts/GovernanceToken.sol- ERC-20 token with vote delegationcontracts/GovernorDAO.sol- Proposal logic and lifecyclecontracts/Forwarder.sol- ERC-2771 implementation for meta-transactionspackages/web/src/- Next.js frontend with real-time dashboard
5️⃣ 🦀 Northwind with Rust/Rocket
REST API in Rust. Full-stack case study with the Rocket framework and SQLx (compile-time validated queries) connected to MariaDB.
The problem it solves: SQL queries in web applications are a common source of bugs. With SQLx, the Rust compiler validates that queries exist in the database before compiling.
Stack: Rust · Rocket 0.5 · SQLx · MariaDB · Next.js
Key repository files:
src/- Rust code with Rocket and SQLxmigrations/- Database migrations
6️⃣ ⚡ eBPF Blockchain Node
The most experimental project. A P2P node that uses eBPF with XDP (eXpress Data Path) to intercept and process network packets at the Linux kernel level, implemented in Rust with the Aya framework.
The problem it solves: Is it possible to run blockchain logic directly in the kernel? This experiment proves it is, by intercepting network packets before they reach the traditional IP stack.
flowchart TD
NIC[📡 Network Interface Card] --> XDP[⚡ XDP Hook]
XDP -->|eBPF Program| K[🔧 Kernel Space]
K -->|Aya Maps| U[💻 User Space]
U -->|Rust App| P2P[🌐 P2P Node Logic]
P2P -->|Broadcast| NIC
subgraph Kernel
XDP
K
end
subgraph User Space
U
P2P
end
style NIC fill:#1a1a2e,stroke:#00f2ff,stroke-width:2px,color:#fff
style XDP fill:#1a1a2e,stroke:#ff00f2,stroke-width:2px,color:#fff
style P2P fill:#1a1a2e,stroke:#00ff88,stroke-width:2px,color:#fffStack: Rust · eBPF · Aya · XDP · LXC · Linux Kernel
Key repository files:
rust/ebpf-node/src/- eBPF program compiled for kernelansible/- Ansible playbooks for automated deploymentmonitoring/- Prometheus + Grafana for observability
📊 Technologies Mastered
During the master I dived deep into this entire ecosystem:
| Category | Technologies | Applied Projects |
|---|---|---|
| Smart Contracts | Solidity, Foundry, Hardhat, OpenZeppelin | All Web3 projects |
| Web3 Frontend | Wagmi v2, Viem, Ethers.js, RainbowKit | DAO, Ecommerce, SupplyChain |
| Backend | Rust (Rocket, sqlx), Node.js, Next.js | Northwind, DAO Relayer |
| Infrastructure | Anvil, LXC, Docker, Linux, Ansible | eBPF Node, Monitoring |
| Cryptography | EIP-712, ERC-2771, Keccak-256, ECDSA | DocumentSign, DAO |
| Linux Kernel | eBPF, XDP, Aya framework | eBPF Blockchain Node |
🧠 What Impacted Me the Most
If I had to choose the three most valuable learnings from the year:
1. Rust's borrow checker teaches you to think in ownership
It's frustrating at first, but the errors it prevents are real production bugs. Data races, use-after-free, double-free: the compiler catches them before they exist.
2. State in blockchain is radically different
There are no "free" transaction rollbacks, everything has a gas cost, and asynchronous synchronization with the UI requires specific patterns like optimistic updates and retry logic.
3. eBPF democratizes the kernel
Being able to program the Linux kernel with Rust without writing a module is a paradigm shift. The possibilities for observability, security, and networking are enormous.
🔮 Next Steps
The ecosystem that calls me the most going forward is Solana: its parallel account architecture (Sealevel), the use of Rust as the native language for smart contracts (programs), and the throughput approaching 50,000 TPS make it technically very interesting.
I also want to deepen my use of LXC + eBPF to build high-performance network monitoring systems in on-premise Linux environments.
🔗 All Repositories
| Project | Repository | Main Stack |
|---|---|---|
| SupplyChainTracker | 87maxi/SupplyChainTracker2 | Solidity + React |
| DocumentSignStorage | 87maxi/documentSignStorage | Solidity + Next.js |
| Euro-Ecommerce | 87maxi/ecommerce | Solidity + Stripe |
| DAO Governance | 87maxi/dao | Solidity + ERC-2771 |
| Northwind API | 87maxi/rocket | Rust + Rocket |
| eBPF Node | 87maxi/ebpf-blockchain | Rust + eBPF |
Retrospective of the Blockchain and Web3 Master — CodeCrypto Academy 2025-2026