Movement Labs Academy

Movement Labs is building a Move-based blockchain network to provide interoperability between the Move execution environment and other networks.

View Attackathon

What's an Attackathon?

Attackathons are education-based bug hunting competitions where security researchers compete over a reward pool by submitting impactful bugs in the project's code. Here's how they work:

Before the Attackathon
Immunefi works with the project to host a security-focused education period, providing top tier education and support to security researchers.

During the Attackathon
Security researchers experience optimal hunting conditions, with direct project support, responsiveness, and duplicate rewards.

After the Attackathon
Immunefi spotlights the security accomplishments with a custom leaderboard, Attackathon Summary Report, Bugfix Reviews, and Individual Achievement Cards.

Ultimately, Attackathons serve to secure projects, develop their security ecosystem, and create new opportunities for security researchers.

Live

22d: 11h remaining
Rewards Pool
$400,000
Start Date
07 March 2025
End Date
04 April 2025
Rewards Token
USDC
Triaged by Immunefi
Yes
KYC Required
Yes
Lines of Code
48,884
Arbitration
No
View Attackathon

⁣1. Movement Network

1.1. Introduction to Move

An overview of the Move programming language used within the Movement Network.

Beginner

1.2. Network Architecture

In-depth technical information about the Movement Network's infrastructure.

Beginner

1.3. Movement Frameworks

Exploration of frameworks that support development within the Movement ecosystem.

Intermediate

1.4. High-level Architecture

Overview of the Movement Network's system design and components.

Intermediate

1.5. Node-level Architecture

Specifics on the architecture at the node level within the Movement Network.

Intermediate

1.6. Fast Finality Settlement (FFS)

Explore how Fast Finality Settlement (FFS) enhances blockchain performance by enabling rapid transaction finality without sacrificing security.

Advanced

⁣2. Move Language

2.1. Introduction

Overview of the Move programming language, its purpose, and target audience.

Beginner

2.2. Modules and Scripts

Explanation of Move's two primary program types: modules and scripts, and their interactions.

Beginner

2.3. Move Tutorial

A step-by-step guide to getting started with Move, including practical examples.

Beginner

2.4. Integers

Detailed information on integer types and operations in Move.

Beginner

2.5. Bool

Understanding boolean types and their usage in Move.

Beginner

2.6. Address

Insights into the address type and its significance in Move.

Beginner

2.7. Vector

Exploration of the vector collection type and its functionalities.

Beginner

2.8. Signer

Details on the signer type and its role in Move transactions.

Intermediate

2.9. References

Explanation of reference types and their usage in Move.

Intermediate

2.10. Tuples and Unit

Overview of tuples and the unit type in Move.

Intermediate

2.11. Local Variables and Scopes

Understanding variable declarations, scopes, and lifetimes in Move.

Intermediate

2.12. Equality

Discussion on equality operations and considerations in Move.

Intermediate

2.13. Abort and Assert

Guide to using abort and assert statements for error handling.

Intermediate

2.14. Conditionals

Explanation of conditional statements and their syntax.

Beginner

2.15. While and Loop

Details on loop constructs and their usage in Move.

Beginner

2.16. Functions

Comprehensive guide to function declarations, visibility, and usage.

Intermediate

2.17. Structs and Resources

Understanding struct definitions and the concept of resources in Move.

Intermediate

2.18. Constants

Guide to declaring and using constants in Move.

Intermediate

2.19. Generics

Explanation of generic types and their applications.

Advanced

2.20. Type Abilities

Insights into type abilities and their significance in Move's type system.

Advanced

2.21. Uses and Aliases

Guide to the use syntax for creating aliases to module members.

Intermediate

2.22. Friends

Explanation of the friend feature for module access control.

Advanced

2.23. Packages

Overview of Move packages, their structure, and manifest syntax.

Intermediate

2.24. Unit Tests

Guide to writing and running unit tests in Move.

Intermediate

2.25. Global Storage Structure

Understanding the structure of global storage in Move.

Intermediate

2.26. Global Storage Operators

Explanation of operators for interacting with global storage.

Intermediate

2.27. Standard Library

Exploration of Move's standard library modules and their functionalities.

Intermediate

2.28. Coding Conventions

Recommended coding conventions and best practices for Move development.

Beginner

2.29. Security pitfalls of the Move language: Part 1

Dive into the foundational security challenges of the Move programming language.

Advanced

2.30. Security pitfalls of the Move language: Part 2

Building on the first installment, Part 2 of this series takes a deeper look into advanced security concerns in the Move language.

Advanced

2.31. Top 10 Most Common Move Contract Bugs

This practical guide highlights the top 10 most frequent bugs found in Move smart contracts.

Advanced

⁣3. Investigating On-Chain Data

3.1. Faucets

Information on obtaining testnet tokens for development purposes.

Beginner

3.2. Explorers

Block explorers the Movement blockchain.

Beginner

3.3. Network Endpoints

Information on available network endpoints for connecting and interacting with the Movement Network.

Advanced

3.4. Indexers

GraphQL API that you can use to retrive data

Advanced

⁣4. Running Proof of Concept (PoC)

4.1. Your First Move Contract

Step-by-step guide to writing and deploying your first Move contract on the Movement Network.

Beginner

4.2. Movement CLI

Instructions on installing and using the Movement Command Line Interface for development tasks.

Beginner

4.3. Aptos Move dApp

How to build an end-to-end "onchain bio" dApp.

Intermediate

4.4. Deploy to Movement Network

Deploy Move module to the Movement Network

Intermediate

4.5. Interact Onchain

Guide to interacting with your deployed Move contracts on the blockchain.

Intermediate

4.6. Oracles

How to use real-time data from Pyth Network in modules on the Movement Porto testnet.

Advanced

4.7. Run a Follower Node

Set up and run a Movement follower node

Advanced

4.8. Sync a Follower Node

Sync an existing Bardock follower node for the Bradock Testnet network.

Advanced

⁣5. Movement Audits & Known Issues

5.1. Audits & Known Issues

Take a look into known Issues and workarounds for the Movement ecosystem.

Intermediate

⁣6. Technical FAQ

6.1. FAQ

Frequently asked questions about working with Movement as a developer.

Beginner

6.2. Why Move?

Explore how the Move programming language enhances blockchain development with its resource-oriented approach, security features, and formal verification.

Intermediate

6.3. Whitepaper

The Movement white paper which outlines the vision, principles, and technical foundation of Movement.

Advanced

6.4. Movement Improvement Proposals (MIPs)

Access the complete repository of Movement Improvement Proposals (MIPs) to review and understand all network upgrades and features.

Advanced