# Week 12 at Blockfuse Labs: Inline Assembly, Merkle Airdrops, RWAs, Open Source, and Python
Week 12 at Blockfuse Labs was a turning point for me. It was the first time I felt like I wasn’t just “writing Solidity code,” but actually **engineering systems** that solve real blockchain problems. The week blended low-level EVM concepts, scalable token distribution, real-world tokenization, and even my ongoing journey with Python.
`Speaking the EVM’s Language with Inline Assembly`
We started the week by diving into **inline assembly in Solidity**. Normally, Solidity abstracts a lot of the underlying Ethereum Virtual Machine (EVM) operations. Inline assembly, however, strips away that comfort — it lets you interact directly with opcodes like `mstore`, `calldataload`, and `sload`.
At first, even something as simple as addition felt foreign:
```solidity
function add(uint256 x, uint256 y) public pure returns (uint256 result) {
assembly { result := add(x, y) }
}
```
Why does this matter? Because it forces you to see how **the EVM actually executes instructions**. Inline assembly is not something you’d sprinkle everywhere in a contract, but in the right spots it can:
* Save gas by cutting out compiler overhead.
* Unlock access to features Solidity doesn’t expose.
* Help you understand vulnerabilities at a lower level.
This exercise reshaped the way I think about contract efficiency.
**` Designing a Gas-Efficient Airdrop with ERC20 + Merkle Trees`**
The highlight of the week was building an **airdrop system**. The challenge was clear: if you try to store a massive CSV of addresses and balances directly on-chain, you’ll waste gas and hit scaling limits.
The solution? **Merkle trees.**
Instead of putting every address on-chain, I only stored a **Merkle root**. Then, each participant could prove their eligibility with a **Merkle proof** generated from the CSV.
A simplified claim flow looked like this:
```solidity
function claim(uint256 amount, bytes32[] calldata proof) external {
bytes32 leaf = keccak256(abi.encodePacked(msg.sender, amount));
require(verify(proof, merkleRoot, leaf), "Invalid proof");
require(!claimed[msg.sender], "Already claimed");
claimed[msg.sender] = true;
token.transfer(msg.sender, amount);
}
```
This approach gave me three big wins:
1. **Gas efficiency** : the contract doesn’t loop through addresses.
2. **Scalability** : you can airdrop to thousands of people.
3. **Security** : proofs ensure nobody outside the list can claim.
On the off-chain side, I generated the Merkle tree from the CSV. This was also where **Python came in handy**, since I could script the parsing and hashing process cleanly.
` Tokenizing Real-World Assets with ERC1155`
I then switched gears to explore **Real-World Assets (RWAs)** using the **ERC1155 standard**.
Why ERC1155? Because unlike ERC20 (purely fungible) or ERC721 (purely non-fungible), ERC1155 can represent **both types of assets** in a single contract. This is ideal for scenarios like real estate, where you may want:
* **Fungible tokens** → property shares.
* **Non-fungible tokens** → a unique property deed.
Example structure:
* Token ID `1` = fractional shares of a property (fungible).
* Token ID `2` = the actual property deed (non-fungible).
This dual nature of ERC1155 made me realize how powerful it is for **bridging blockchain with tangible assets**.
` Open Source Contributions and Python Studies`
Outside my direct projects, I also contributed to **open source repositories**. It was rewarding to see how even small contributions can support the larger developer ecosystem.
Meanwhile, I kept sharpening my **Python skills**. This week, it tied directly into blockchain by helping me handle CSV data and experiment with Merkle tree generation. Where Solidity brings me close to the EVM, Python gives me the ability to orchestrate off-chain logic that supports on-chain contracts.
` Summary`
Looking back, Week 12 was about **depth and integration**:
* Inline assembly pushed me to think like the EVM.
* ERC20 + Merkle tree airdrops showed me how to design for scale and cost-efficiency.
* ERC1155 revealed how token standards can map directly onto real-world asset structures.
* Open source and Python reminded me that great engineers balance **community contributions** with **personal growth**.
It wasn’t just a week of coding. It was a week of connecting dots — between **low-level optimization, scalable design, and real-world applications.**