

ÆTERNITY ACADEMY
LEVEL 6
You are almost there! Here is where you would be writing your last pieces of code to finish your smart contract! Hurraaaah on making it so far :)
​
​
​
Let us create 2 entrypoints in this level as well- now we are experts, aren't we :P?
​​
Step 1:
First entrypoint: Our entrypoint from the previous level titled "create_superhero_with_values".
​
Instead of boilerplate code, let me share the actual function code here and explain it to you.
​
public stateful entrypoint create_superhero_with_values(name: string, power:int): int =
let new_avenger : avenger = {
name = name,
power = power}
​
put(state{map_avengers[name] = new_avenger})
put(state{index = (state.index + 1)})
state.index
​
The 2 main takeaway from the above syntax are:
-
The value of the state is accessible from inside the contract through an implicitly bound variable state.
-
State updates are performed by calling a function put : state => unit
-
​
In the above code, we are updating the value of the index as well as the avenger map to ensure that the information is recorded on the blockchain.
​
Step 2:
We will also create an entrypoint to get the values of our avengers once added. Name it - getSuperhero.
​
Here is the code for the second entrypoint:
public stateful entrypoint getSuperhero(name: string): avenger =
state.map_avengers[name]
​
Once you have put together the entire contract, please copy paste it in an editor for the next step.
​
​
​
