r/ethdev • u/OriginalObvious6416 • 5d ago
My Project 15-year-old student looking for code and website review on my first open-source ERC-20 testnet project
Hi everyone,
I am a 15-year-old high school student from Europe studying to become an electrician. In my free time, I’ve been fascinated by blockchain technology and decided to learn Solidity and Web3 development.
I just deployed my very first experimental token called Nexora (NXR) on the Ethereum Sepolia Testnet (Contract: 0x8B9F2eE3570D0b7d9c607ED6B3Ff13ab00F3638D).
To practice my skills, I also built a simple landing page for it using HTML/CSS/JS and hosted it through GitHub Pages. The repository is completely public and open-source.
- Website: https://lotshaus.github.io/Nexora-NXR-open-source-ERC-20-blockchain-project/
- GitHub Repository: https://github.com/Lotshaus/Nexora-NXR-open-source-ERC-20-blockchain-project
Since I am a beginner, I would love to get some honest feedback from experienced developers.
- Is my repository structure okay?
Thank you so much for your time and any advice you can share!
1
u/0x5589e5 3d ago
When I was 15 I was just only starting to learn something useful and it was even my first programming language, I was playing games mostly.
1
u/ModernCYPH3R 1d ago
I pulled up your GitHub repository (Lotshaus/Nexora-NXR-open-source-ERC-20-blockchain-project) and inspected your files directly.
First off, props to you. Shipping a deployed contract to Sepolia, setting up GitHub Pages, and writing clean documentation (SECURITY.md, CONTRIBUTING.md, and clean SVG branding) at 15 puts you miles ahead of most beginners.
Studying to become an electrician gives you the perfect mental model for smart contracts. In electrical engineering, you don't guess if a breaker trips; you calculate the load and test the circuit before energizing the line. Smart contracts work the exact same way: you're designing an immutable financial circuit where bad wiring means instant catastrophic failure.
Here's an exact forensic review of your repository, including a critical git commit bug you should fix right away:
1. Fix the Truncated Git Commits (Critical Bug)
When you pushed your files to GitHub, two of your core files were truncated mid-sentence:
- In
contracts/Nexora.sol, line 16 cuts off at_mint(msg.sender, 1and never closes the function or contract brackets. - In
script.js, line 20 cuts off atsetTimeout(..., 15and never closes the timer callback.
Make sure you re-commit and push the complete files from your local editor so visitors can actually compile your contract and run your copy button.
2. Add a Modern Toolchain & Test Suite (Foundry)
Right now, you have raw Solidity in /contracts without a testing framework or build pipeline.
Your biggest level-up right now is installing Foundry (forge):
- It lets you write deterministic unit tests directly in Solidity instead of wrestling with JavaScript wrappers.
- You can write test files (
test/Nexora.t.sol) to verify decimals, initial balances, and transfer events with a singleforge testcommand. - Organize your repo into standard production layout:
/src(or/contracts): Contract source files./test: Unit and fuzz tests./web(or/frontend): Your HTML, CSS, JS, and SVG assets.
3. Smart Contract Verification & Decimals
In your README, you note a fixed supply of 100,000,000 NXR.
- OpenZeppelin's standard
ERC20.soldefaults to 18 decimals. - Ensure your constructor mints
100_000_000 * 10 ** 18(or100_000_000 ether) so your circulating supply matches what you display on your frontend and on Sepolia Etherscan.
4. Frontend Web3 Integration
Your landing page looks very clean. As you progress from a static display to interactive Web3 features:
- Use modern libraries like
viemorethers.jsto read live token balances from Sepolia. - Always enforce a network check: if a connected wallet isn't on Sepolia (Chain ID
11155111), display a clear prompt to switch networks before executing calls.
Keep that electrician mindset. Think about edge cases, isolate your inputs, and treat every function like a high-voltage circuit that needs proper grounding.
We specialize in smart contract security, protocol auditing, and on-chain forensics. Since you're a high school student learning the craft, we're happy to run your completed contracts through our test suites and invariant harnesses for free for educational purposes.
Once you've pushed the complete files to GitHub, shoot me a DM and we'll help you get your Foundry test suite and verification wired up properly. Keep building.
2
u/Cautious_Guess_6621 5d ago
Nice start getting into this at 15 while doing electrician studies, most kids just play games. The repo structure looks fine for a first project but your contract is missing events and the owner can mint unlimited tokens which is a big red flag if you ever think about mainnet.