Skip to content
← All articles
Conference

Byzantium’s first workshop — Solidity and an ERC-20 token on Ethereum

Listen to the audio story

Everyone deployed a token · 2:11 · AI-written script, synthetic voices

Transcript

Ava: Picture a classroom full of laptops where, by the end of the night, everybody owns a brand new cryptocurrency they made themselves. And they're sending it to each other.

Andrew: Wait, they invented their own money? In one evening?

Ava: A token, yes, on a test network, so nothing real is at stake. It was Byzantium's first Ethereum workshop, held on the eleventh of March, 2024, at ÉTS. Khalil Anis Zabat led and organized it, and Antoine wrote the recap.

Andrew: Beginners and more advanced people in the same room. How do you teach that without losing half of them?

Ava: The arc was deliberate. First, Remix, which runs in the browser, so nobody needed a full toolchain installed and they could redo everything at home. Then a local dev setup, the way professionals repeat the process.

Andrew: And the network part?

Ava: Sepolia, a test network. Test ETH from a faucet, MetaMask as the wallet, and a service like Infura as the bridge to the chain. Then the key trick: don't rewrite the basics. They used OpenZeppelin, a shared library of battle-tested standards, and inherited an ERC-20 token.

Andrew: So what do you actually have to write?

Ava: Hardly anything. A name, a symbol, the decimals, often eighteen, and an initial amount minted to whoever deploys the contract. That's the whole starting point Khalil walked through.

Andrew: And then the fun part.

Ava: Right. Everyone deployed, copied their contract addresses, and sent tokens to each other until the room felt like a tiny economy. Antoine's line sums it up: until you push a transaction and see it on a block explorer, Solidity is just syntax. Afterward it's a public ledger with your address on one line.

Andrew: Did anything else come up?

Ava: Questions about gas, since infinite loops can burn it and stall a contract. About the ABI, which tells apps which functions exist. And about why big data stays off-chain, with only a hash or a link on the chain.

Andrew: Any follow-up planned?

Ava: Yes, other token types and more advanced techniques. The full write-up has photos from the room and the starting contract code.

Byzantium’s first workshop — Solidity and an ERC-20 token on Ethereum
Table of contents

Byzantium workshop opening slide — Solidity on Ethereum, ÉTS classroom

A quick recap of Byzantium’s first Ethereum workshop.

On 11 March 2024 at ÉTS, beginners and more advanced folks created and deployed their own token on-chain and transferred tokens to each other. Thanks to everyone who showed up — and to Khalil Anis Zabat for leading and organizing the session.

We plan a follow-up with other token types and more advanced techniques. If you’d want a rerun — or you have ideas for the next workshops — say so in the comments on the LinkedIn thread (link below).

1. What we actually did

The arc was deliberate and beginner-friendly:

  1. Remix in the browser — compile and deploy without installing a full toolchain first, so you could redo the steps at home.
  2. A local dev setup (editor + node tooling) — the “how professionals repeat this” half, with the same ERC-20 idea carried over.
  3. Sepolia — test ETH from a faucet, MetaMask as the wallet, Infura (or similar) as the RPC bridge.
  4. OpenZeppelin — don’t reinvent transfer; inherit battle-tested ERC-20 and focus on name, symbol, decimals, and an initial mint.
  5. Peer transfers — deploy, copy contract addresses, and send tokens to each other until the room felt like a tiny economy.

Until you push a transaction and see it on a block explorer, Solidity is just syntax. Afterward it is a public ledger with your address on one line.

2. The token we started from

Khalil walked through a minimal mintable ERC-20 — roughly:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract MyToken is ERC20 {
    constructor() ERC20("MyToken", "MTK") {
        _mint(msg.sender, 1000000 * 10 ** decimals());
    }
}

You pick name and symbol, set decimals (often 18), and mint an initial supply to msg.sender (the deployer). OpenZeppelin is the community’s shared library for standards — the same idea as ERC-721 for NFTs, but here we stayed on fungible tokens.

Live demo — editor and contract projected in the room

3. Concepts that came up in Q&A

Block explorers (Etherscan, Sepolia variants). Every transaction is a row: who sent what, to whom, gas paid, block number.

Gas and limits. Contracts are not unconstrained Turing machines in practice — infinite loops can burn gas and stall. Sepolia kept the lesson affordable.

ABI = the skeleton. After deploy, the ABI is how apps (or bots) know which functions exist.

On-chain vs off-chain data. Storage on-chain is expensive. Patterns point to hashes or URIs for bulky data; the chain holds the reference.

4. Room and energy

Tables, power strips, and laptops open — good for pairing when Remix threw a curveball or MetaMask asked for another confirmation.

Participants after the workshop

Room during the presentation

Byzantium framed follow-up workshops around other token types and deeper Solidity patterns. This one was the on-ramp.

Thanks to Khalil for teaching through the messy middle (wallets, faucets, failed txs), and to everyone who showed up for Byzantium’s first chain night.

References

  1. LinkedIn thread / Byzantium recap. (). [LinkedIn post] www.linkedin.com.
  2. Deployed contract (short link). (). [Web page] lnkd.in.
  3. OpenZeppelin Contracts. (). [Web page] docs.openzeppelin.com.
  4. Remix IDE. (). [Web page] remix.ethereum.org.
  5. Sepolia testnet explorer. (). [Web page] sepolia.etherscan.io.

References use this article’s publication date.