Skip to content

eloi010/huff-puzzles-solved

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

huff-puzzles by RareSkills

A series of puzzles that go from very easy to more difficult so that you can have a hands-on introduction to the huff language and learn EVM bytecode while doing it.

Pre-requisites

Make sure you've installed the Huff Compiler as outlined in the Huff Docs.

TLDR:

curl -L get.huff.sh | bash

then:

 huffup

To verify your installation, run huffc --help. This should print a list of available commands for the huff compiler cli.

Installation

To install dependencies, run:

forge install

How to play

Go to Return1.huff in the src folder and edit it as follows

#define macro MAIN() = takes(0) returns(0) {
    // store 1 in memory at offset 0
    0x01            // [1]
    0x00            // [0, 1]
    mstore          // []

    // return 1
    // return 32 bytes of memory starting at offset 0
    0x20            // [32]
    0x00            // [0, 32]
    return          // []
}

Then run the test with

forge test -vvv --mc Return1Test

You should see something like this

Running 1 test for test/Return1.t.sol:Return1Test
[PASS] testReturn1() (gas: 5358)
Test result: ok. 1 passed; 0 failed; finished in 4.56s

Suggested order for other exercises

More resources

Contributors

About

Proposed solutions for the RareSkills puzzles created for the Advanced Solidity Bootcamp. Learn EVM bytecode with the Huff Language.

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • Solidity 100.0%