00:00:08
hi my name is serge medellin i'm part of
00:00:10
the developer advocacy team at hedera
00:00:12
today i would like to take you through a
00:00:14
quick demo of how hedera can be used to
00:00:16
easily and securely issue and operate
00:00:18
loyalty tokens using hedera token
00:00:20
service
00:00:22
distributed ledger technologies came
00:00:23
with a shiny cool promise of
00:00:24
tokenization from which loyalty schemes
00:00:27
can definitely benefit
00:00:28
dlt-based loyalty points can inherit
00:00:31
improved security and transparency of
00:00:32
cryptocurrencies enhance fraud
00:00:34
prevention and resistance to double
00:00:36
spending compared to traditional loyalty
00:00:38
schemes
00:00:39
however in reality many of the glt
00:00:41
platforms came with the burden of very
00:00:43
complex and risky development life cycle
00:00:46
developers often need to learn a new
00:00:47
exotic language to write what's called a
00:00:49
smart contract that describes the token
00:00:52
a smallest error can lead to losses of
00:00:54
customer funds that cannot be retrieved
00:00:57
even more running the app usually has
00:00:59
high and unpredictable operational fees
00:01:01
ridiculously so transaction speed and
00:01:03
overall complexity of implementation
00:01:06
hedera solves this problem by offering a
00:01:08
tokenization solution that enjoys the
00:01:10
benefits of hedera itself like
00:01:12
predictable and low fees and no need for
00:01:14
smart contracts
00:01:16
everything is done through the apis
00:01:18
wrapped in developer familiar languages
00:01:20
so a wide range of developers will find
00:01:22
it really easy to develop on
00:01:24
hedera on the screen we can see a very
00:01:27
simple demo showing capabilities of
00:01:30
creation transfer and management of the
00:01:33
tokens on hedera using hedera token
00:01:35
service
00:01:36
we will use hedera token service to
00:01:38
create simple loyalty points like
00:01:41
structure
00:01:42
users will be able to exchange these
00:01:44
tokens for different loyalty rewards
00:01:46
that we will publish in a loyalty
00:01:48
redemption store
00:01:49
we will also create a simple nft gift
00:01:52
card that can be exchanged for a
00:01:53
specific item in the loyalty redemption
00:01:56
store
00:01:57
we will look at the user experience from
00:01:59
the perspective of three actors an
00:02:02
issuer entity which creates and
00:02:04
distributes the tokens and two users
00:02:06
alice and bob
00:02:08
we've pre-created hedera accounts for
00:02:10
them which can we identify by their
00:02:13
hedera user account ids
00:02:15
we'll also topped up their accounts with
00:02:17
some hbar
00:02:19
which is used as a payment to process
00:02:21
transactions
00:02:23
these are the view buttons that
00:02:25
represent what's called a very
00:02:26
simplified wallet a view into what token
00:02:29
users own and user interface to manage
00:02:32
them the user interface can be changed
00:02:35
and is just for the demo purposes
00:02:37
let's look at how easy it is to create a
00:02:39
token using hedera token service and
00:02:42
discuss some of the customization of the
00:02:44
token we offer natively
00:02:48
the dlt industry currently recognizes
00:02:50
two main meta types of tokens fungible
00:02:53
and non-fungible tokens fungibility is
00:02:56
the ability of a good or asset to be
00:02:58
interchanged for another of kind
00:03:00
one us dollar can be easily exchanged
00:03:02
for another us dollar without much of
00:03:04
the difference to the owner
00:03:06
many goods and assets are not
00:03:08
interchangeable such as owned cars and
00:03:11
houses so they are non-fungible same
00:03:14
applies for the tokens fungible tokens
00:03:17
are a great use case for digital assets
00:03:19
that display properties of what we
00:03:20
consider close to the notion of money
00:03:23
but can have some additional codified
00:03:25
functionality on top of it like loyalty
00:03:27
points
00:03:28
non-fungible tokens often used to
00:03:30
represent unique items sometimes
00:03:32
physical sometimes digital for example
00:03:35
an item in a virtual game digital art or
00:03:38
a coupon to exchange for a product at a
00:03:40
supermarket can be implemented as an nft
00:03:44
let's imagine a scenario where we'd like
00:03:46
to create a new loyalty program for our
00:03:48
customers
00:03:49
every time our customers show up in our
00:03:51
shops a percentage of purchases goes
00:03:54
back to the customer's wallets in form
00:03:56
of loyalty tokens
00:03:57
these tokens can be exchanged for
00:03:59
redeemable items on the redemption
00:04:01
marketplace
00:04:03
let's start with creating
00:04:04
a new fungible token representing
00:04:07
loyalty points for our program
00:04:10
this token creation wizard will help us
00:04:12
define the token properties and issue a
00:04:14
new token
00:04:15
in reality you would use
00:04:17
hedera sdk to issue the command to
00:04:20
create mint and transfer new tokens
00:04:24
any other token has to have a name and a
00:04:26
symbol these are used to identify tokens
00:04:29
among many others in a human readable
00:04:31
format
00:04:32
we call our loyalty
00:04:34
points loyalty
00:04:37
token
00:04:38
sample
00:04:40
and assign it a symbol lts
00:04:46
next step is to decide on the initial
00:04:48
supply and if supply can be changed how
00:04:51
many tokens do we create now can we
00:04:53
issue more tokens in the future as our
00:04:56
loyal loyalty program expands we may
00:04:58
want to have additional tokens in
00:05:00
circulation compared to the initial
00:05:02
amount so we will set variable supply
00:05:05
type with an initial supply of 1 million
00:05:08
tokens
00:05:14
we have pre-selected some cool token
00:05:16
configuration features that hedera
00:05:18
offers as well
00:05:19
for example we set the kyc parameter on
00:05:23
it means that any user who would want to
00:05:25
receive our loyalty points in their
00:05:27
account
00:05:28
first would have to be approved by the
00:05:31
issuer or issuer delegated authority as
00:05:33
known
00:05:34
this can be very helpful in the
00:05:36
situations where organization has
00:05:38
reporting requirements on the holders of
00:05:41
the tokens it created
00:05:43
another useful feature that we've set is
00:05:45
an admin key for this token which means
00:05:47
that the properties of this token can be
00:05:49
changed over time by departing the
00:05:52
position in the possession of a special
00:05:54
admin key
00:05:55
for example over time we may no longer
00:05:58
need to have a kyc field requirement for
00:06:00
the tokens an admin can change this
00:06:03
property over time
00:06:05
if this feature isn't needed we don't
00:06:07
have to set it which means that the
00:06:08
token is immutable and never can be
00:06:10
changed
00:06:12
there are many more other great features
00:06:14
that hedera token service offers for a
00:06:16
full list please refer to hedera
00:06:18
documentation portal available at
00:06:20
docs.hedera.com
00:06:23
and now we are about to witness one of
00:06:25
the hedera's superpowers its insane
00:06:28
transaction speed
00:06:29
normally on most other networks we would
00:06:32
have to wait for somewhere between a
00:06:34
minute to 15 minutes sometimes for a
00:06:36
transaction to be confirmed with hedera
00:06:39
it takes about three seconds to get a
00:06:41
confirmed and final transaction
00:06:48
it our loyalty points token is now live
00:06:50
on the network and is ready for
00:06:52
distribution to make sure we're not
00:06:54
making it up let's check hedera explorer
00:06:57
which constantly monitors the network
00:06:59
for new transactions and confirms that
00:07:01
the token were indeed created
00:07:10
hedera explorers are external observers
00:07:12
that observe header network and log
00:07:14
events that are happening there
00:07:17
think of them as logging and business
00:07:19
intelligence tools auditability is key
00:07:22
here we can build business intelligence
00:07:24
tools around the data because we can
00:07:26
listen to the events happening to the
00:07:28
token
00:07:29
on the ledger
00:07:31
so awesome we can see that
00:07:33
the token has been created with that uh
00:07:35
with the name loyalty token sample and
00:07:39
symbol lts
00:07:41
and
00:07:42
now we need to advertise our program to
00:07:45
the users
00:07:46
so we advertise the loyalty program to
00:07:49
the users that you know you get 10
00:07:51
cashback from all the purchases and our
00:07:53
user alice hears about it and decides to
00:07:56
join the program
00:07:58
we can see that her initial token
00:08:00
balance is not available
00:08:02
and
00:08:03
she needs to make some purchases to earn
00:08:05
her loyalty points first she needs to
00:08:08
apply for the program and subscribe for
00:08:10
it
00:08:12
and once she applies for it we can see
00:08:14
that her initial token balance is zero
00:08:21
let's imagine that alice goes to our
00:08:23
e-commerce store and buys some goods for
00:08:25
one thousand dollars we want to reward
00:08:27
her with ten percent of the purchase
00:08:29
total sum in a form of loyalty points
00:08:31
for example each loyalty point is
00:08:33
representing one usd so we will send
00:08:36
alice 100 lts tokens representing 10 or
00:08:40
1 thousand dollars
00:08:49
here we are sending 100 tokens to alice
00:08:56
as we can see the transaction will fail
00:08:58
by design
00:09:00
because as you remember we've set the
00:09:03
kyc field on the token and first we need
00:09:06
to label alice as a known user
00:09:09
by the authority and grant
00:09:11
her account kyc
00:09:14
this issues a special authorization
00:09:16
transaction to hedera saying yes i know
00:09:19
who alice is and i'm okay with her
00:09:21
getting our loyalty tokens
00:09:27
now when we send alice 100 lts tokens
00:09:35
we can see that transaction is
00:09:37
successful
00:09:38
and we can see that alice now has a
00:09:40
total token balance of 100 lts
00:09:44
tokens
00:09:46
she now can send these tokens to other
00:09:48
registered users or use them to redeem
00:09:50
items on the marketplace
00:09:52
this is a foundation of a functionality
00:09:55
rich token that is secure and fast by
00:09:57
design
00:09:59
the next step would be to start building
00:10:00
business logic around the token
00:10:02
primitive
00:10:03
let's create our first redeemable item
00:10:05
[Music]
00:10:09
for example apple watch that can be
00:10:11
exchanged for a certain number of lts
00:10:14
points
00:10:20
we would like it to be redeemable for
00:10:23
let's say 50
00:10:25
loyalty token samples lts tokens
00:10:30
and now we are about to create a
00:10:32
redeemable item
00:10:35
and now it's been added
00:10:40
now when alice will go to the redemption
00:10:43
marketplace
00:10:44
she will see that apple watch is
00:10:46
available on the redemption marketplace
00:10:48
and when pressing redeem button
00:10:51
she will see an option to redeem with 50
00:10:53
loyalty to sample tokens once she clicks
00:10:56
this button
00:10:59
the transaction is issued to the network
00:11:01
and we can see that her balance went
00:11:03
down she now has 50 lts instead of 100
00:11:07
but now she also owns one apple watch
00:11:10
congratulations alice
00:11:14
another example i'd like to quickly walk
00:11:16
you through is a product and gift card
00:11:19
uh creation
00:11:21
it works slightly differently as each
00:11:23
instance of the gift card is unique and
00:11:26
represents one-to-one redemption value
00:11:28
we are creating an nft token that our
00:11:31
customers can exclusively exchange for
00:11:34
this time let's say
00:11:37
samsung galaxy watch
00:11:49
because it's an nft token it can also
00:11:51
have some unique properties associated
00:11:53
with it
00:11:55
so let's create a new template of the
00:11:57
unique properties that are describing
00:11:59
the properties of a gift card
00:12:02
let's say for example it's samsung
00:12:06
color is white
00:12:09
blue font color
00:12:17
also upload the logo
00:12:21
another field here is metadata storage
00:12:24
type
00:12:26
as we are uploading a logo as part of
00:12:28
our gift card creation process we want
00:12:30
this image to be stored immutably in
00:12:32
some form of decentralized storage
00:12:35
hedera offers its own storage service
00:12:38
but we also can choose any other
00:12:40
decentralized storage solution here we
00:12:42
use a popular file storage protocol
00:12:44
called ipfs we will use it to upload the
00:12:47
gift card metadata to
00:12:51
let's not worry about kyc option for
00:12:54
this token it means that anyone can hold
00:12:56
this gift card without our explicit
00:12:58
approval
00:13:01
and now we click create
00:13:05
and again couple of seconds and our gift
00:13:07
card is created and ready for
00:13:09
distribution
00:13:10
this gift card has a unique serial
00:13:12
number and full ownership history can be
00:13:16
observed by the external observers and
00:13:19
it can only be exchanged for the item
00:13:21
once
00:13:22
let's go ahead and create a new
00:13:24
redeemable item in the redemption
00:13:26
marketplace
00:13:28
a samsung
00:13:30
galaxy
00:13:33
watch
00:13:39
and now here we can choose whether it is
00:13:42
whether this item can be exchanged
00:13:44
either for one gift card or a samsung
00:13:46
galaxy watch nft
00:13:48
or
00:13:50
for 50 loyalty points
00:13:52
that's pretty cool we can easily create
00:13:54
marketplaces where different types of
00:13:56
tokens can be accepted we can do so many
00:13:59
really really cool things like loyalty
00:14:00
points per brand and even loyalty point
00:14:03
exchanges
00:14:09
for the gift card nft that we've created
00:14:12
let's imagine we want users to be able
00:14:13
to buy it rather than earn through
00:14:15
loyalty points purchases
00:14:17
let's send this gift card
00:14:21
to a marketplace and offer users to buy
00:14:25
this nft for let's say five hbar tokens
00:14:34
bob always wanted to buy
00:14:37
samsung galaxy watch so he buys the
00:14:40
galaxy watch
00:14:41
nft gift card of the marketplace for
00:14:44
bypage bar
00:14:50
and now he has this card in his wallet
00:14:53
and can confirm that he has it
00:14:55
and now he can go to the redemption
00:14:57
marketplace
00:14:58
and exchange
00:15:00
a samsung galaxy watch or either 50
00:15:04
loyalty token sample tokens or one
00:15:06
samsung galaxy watch token
00:15:09
which he will do
00:15:13
congratulations bob you now have a
00:15:15
samsung galaxy watch and the gift card
00:15:17
has been burned
00:15:20
normally it would take very very long
00:15:21
time to build this functionality and
00:15:23
make it safe and secure and easy to
00:15:25
manage with cedar it's secure fast and
00:15:28
auditable by design the tokens have full
00:15:31
traceability into ownership and
00:15:33
transfers and are never at risk of
00:15:35
double spend
00:15:37
if you'd like to run this demo yourself
00:15:39
it is available as an open source
00:15:40
project on github under hashgraph
00:15:44
hedera hds demo in a branch called
00:15:47
loyalty demo
00:15:49
this repo has detailed instructions on
00:15:51
how to set everything up and in no time
00:15:53
you will be up and running
00:15:55
i hope this quick demo inspired you to
00:15:57
create your own loyalty scheme solutions
00:15:59
and we there are really looking forward
00:16:01
to hearing about your ideas thank you
00:16:14
you