Differences

This shows you the differences between two versions of the page.

Link to this comparison view

fob:laboratoare:03 [2022/10/27 01:56]
costin.carabas [Never Sea Festival Smart Contract]
fob:laboratoare:03 [2023/03/01 18:33] (current)
costin.carabas
Line 1: Line 1:
-===== Practical Session 03. =====+===== Smart Contract ​=====
  
 ==== Never Sea Festival Smart Contract ====  ==== Never Sea Festival Smart Contract ==== 
Line 6: Line 6:
 Starting from Smart Contract template you have to add more features to coordinate the event. Starting from Smart Contract template you have to add more features to coordinate the event.
  
 +<​hidden>​
 <note important>​ <note important>​
 Install docker using [[https://​docs.docker.com/​engine/​install/​ubuntu/​|this link]]. Install docker using [[https://​docs.docker.com/​engine/​install/​ubuntu/​|this link]].
Line 11: Line 12:
 You can find Elrond docker images at [[https://​hub.docker.com/​r/​elrondnetwork/​build-contract-rust/​tags|this link]]. You can find Elrond docker images at [[https://​hub.docker.com/​r/​elrondnetwork/​build-contract-rust/​tags|this link]].
 </​note>​ </​note>​
 +</​hidden>​
  
 Clone [[https://​github.com/​systems-cs-pub-ro/​Foundation-Of-Blockchains.git|Foundation of Blockchain repo]] and go to **lab03** folder. Clone [[https://​github.com/​systems-cs-pub-ro/​Foundation-Of-Blockchains.git|Foundation of Blockchain repo]] and go to **lab03** folder.
Line 35: Line 37:
 <note warning>​There are no float/​double types. 1 EGLD is actually 1 followed by 18 zeros. This way there are no decimal issues.</​note>​ <note warning>​There are no float/​double types. 1 EGLD is actually 1 followed by 18 zeros. This way there are no decimal issues.</​note>​
  
-=== Modify the registration fee to enable Early Bird and Full price access ​===+== Make a contract call to register a user. =
 +== Make a contract call to view the registered users. ​==
  
 === Modify the registration endpoint to enable VIP access === === Modify the registration endpoint to enable VIP access ===
  
-=== Create a feature to enable 50% discount vouchers for friends and partners ===+== Create a new storage mapper registration_fee_vip. == 
 +== Create a new UnorderedSetMapper storage mapper (vip_participants) to save the VIPs == 
 +In the registration endpoint, make a verification of the tokens received. If the tokens received is **registration_fee_vip**,​ add the user to **vip_participants**,​ if the amount is **registration_fee**,​ add them to **participants**,​ else, deny registration. 
 + 
 +=== Modify the registration fee to enable Early Bird and Full price access === 
 + 
 +== Create a new endpoint that modifies the *registration_fee* and *registration_fee_vip* storage mapper. == 
 +This endpoint should be call only by the owner. 
 +<note tip>Use #​[only_owner] endpoint annotation.</​note>​ 
 + 
 +After the Early Bird expires, the admin will call this endpoint. 
 + 
 +=== BONUS: ​Create a feature to enable 50% discount vouchers for friends and partners === 
 + 
 +Create a list of hardcoded discount codes. 
 +== Create a new endpoint that receives a discount code as a parameter and registers a user with 50% discount ​==
fob/laboratoare/03.1666824976.txt.gz · Last modified: 2022/10/27 01:56 by costin.carabas
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0