Challenge 1: Checkin
In this first challenge, your task is to interact with a basic Move contract. The contract defines a Flag
object, which you need to retrieve by calling a specific function.
The contract mints a new flag and transfers it to your account. Your goal is to call the function, capture the flag, and then submit the object ID to verify your success.
This challenge is designed to be an easy introduction, guiding you through the process of interacting with the blockchain, calling functions, and understanding the basics of flag capture.
Deployed Contract Address:
Package: 0x9f1aa694741c7bf4c6081718e87df3beb6ed50d16c9729c53452f13ae9b154a4
Contracts
checkin.move
module ctf::checkin {
public struct Flag has key, store {
id: UID,
user: address
}
public entry fun get_flag(ctx: &mut TxContext) {
transfer::public_transfer(Flag {
id: object::new(ctx),
user: tx_context::sender(ctx)
}, tx_context::sender(ctx));
}
}
Related Articles
In this challenge, you must use the IOTA CLI to interact with the blockchain. This set of articles will help you set up your environment and call a deployed contract:
Good luck in capturing your first flag!