Smart Contract

Never Sea Festival Smart Contract

You are the Never Sea Festival 2023 organizers and you decide to create the registration via blockchain. Starting from Smart Contract template you have to add more features to coordinate the event.

Clone Foundation of Blockchain repo and go to lab03 folder.

Compile and deploy the Smart Contract template

Use to build the Smart Contract.

Use the parameter–arguments to provide the arguments of init function.

Check the deployment on the explorer. Do not assume that the contract was successfully deployed if there are no command line errors.

erdpy contract deploy –help

To check that the contract was successfully built, verify that there was a wasm file generate: output/neversea.wasm. This is the compiled code of your contract.

To check that the contract was successfully deployed, check the devnet/testnet.

Any modification of the contract must be succeeded by a compilation and deployment!

There are no float/double types. 1 EGLD is actually 1 followed by 18 zeros. This way there are no decimal issues.

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

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.

Use #[only_owner] endpoint annotation.

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.txt · Last modified: 2023/03/01 18:33 by costin.carabas
CC Attribution-Share Alike 3.0 Unported Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0