

ÆTERNITY ACADEMY
LEVEL 5
We are nearing completion now! Wohoo, how exciting!
​
​
​
Let us create 2 entrypoints in this level - because, why not :D!
​​
Step 1:
First entrypoint: A function named create_random_power - which would create a random power for the superhero and allocate it.
​
How can we do this?
We will use a variable from the Chain library - known as Chain.timestamp. This will return the timestamp of the current block. We will add this with the index variable defined in our record "state".
​
Why are we doing this?
This will help you learn more about the parameters assocated with the Chain.
​​
Step 2:
Step a:
Second entrypoint: create_superhero
This will take in a parameter "name" of type "string" and return nothing.
​
What should this entrypoint do?
1. This should check if the name satisfies the name check by passing it to the name_check function. For this, we will use the keyword - require.
​
What does the require function do?
​
It is used to add constraint to a function. If the require statement is not satisfied, the function execution will not proceed further.
​
Example boilerplate code:
require(function(argument), "Message that you would like to print")
​
Step b:
Create a variable power and call the function "create_random_power" with the name as the argument and assign the return value to this variable.
​
Example boilerplate code:
let var_name : data_type = create_random_power(name)
​
Step c:
Now you need to call another function "create_superhero_with_values" with the name and the power as the parameters. This is the function that will create the superhero for us. We will write this function in the next level.
​
Let us create these two entrypoints and move forward!
​
If you want more information on Sophia, refer to this link here: https://github.com/aeternity/aesophia/blob/lima/docs/sophia.md
