JOHNFORFAR/ workshops
IT FEST · BLOCKCHAIN 102

Getting started as a smart contract developer

What blockchain developers actually build, how a dApp works end to end, why security is part of the job, and the path from a free bootcamp to a hackathon, a GitHub portfolio and your first Web3 job.

IT FestJose Maria College, Davaowith Ruben P. Lacumba Jr. (Blockchain Fundamentals)

The slides

Open slides fullscreen ↗

Open the slides →Source ★

The one idea

Somebody wrote every wallet, game and token you have ever used. Blockchain development is a software-engineering job, and most of it is skills you are already learning: frontends, backends, databases, Git.

What changes is where the rules live. In a normal app the owner of the server can change any record. In a dApp the rules are a smart contract running on a shared network, the user signs with a wallet, and nobody, including the developer, can quietly change the result.

Learn it free: the official Solana bootcamp

Everything in the middle of the talk comes from one free course: the Solana Developer Bootcamp 2026. Twelve projects in about five hours, with reference code for each. Start wherever you are. The timestamps below jump straight to each project.

A real contract, and a real mistake

The arcade contract behind gamerplex.com is 3,018 lines of Rust with 24 instructions, live on Solana mainnet and open source. My first version made a classic mistake: it believed the player when they said they had paid, without checking that any money moved. My own audit caught it before launch.

The fix is a pattern you will use in every contract you write: never trust what the caller tells you, check it yourself. Before a payment counts, the contract now checks five things:

// 1. Emergency brake: the admin can pause all payments
require!(!ctx.accounts.payments_config.paused, ArcadeError::PaymentsPaused);
// 2. Called directly by the player's transaction, not smuggled in by another program
require!(get_stack_height() == TRANSACTION_LEVEL_STACK_HEIGHT, ArcadeError::CpiNotAllowed);
// 3. Exactly one payment per transaction
require!(rp_count == 1, ArcadeError::DuplicateIxInTx);
// 4. The right price for what you're buying
require!(amount_micro_usd == required, ArcadeError::InvalidScoreCommitAmount);
// 5. Look inside the transaction: did the tokens really move to the treasury?
verify_spl_transfer_for_mint_in_tx(&sysvar, &mint, decimals, &treasury, &player, amount)?;

From student to hired

Nobody hires you for watching a course. They hire you for what you shipped. Four steps, each one proving the last:

Your first 90 days

The honest part: I entered two hackathons with Gamerplex and didn't win either. The games went live on Solana mainnet anyway, and building the contract turned out to be the easy part. Getting real people to play is the hard part. Ship small, put it in front of people, learn.

Resources

→ Open the interactive slides↓ Slides (PDF, 26 pages)↗ Source on GitHub

Run it yourself

You don't need to learn everything in Web3 before you begin. Become a strong developer, learn one ecosystem well, build progressively, and treat security as part of the job. Start with Project 01 tonight.