This is the idea behind Arigatai
, a project that dreams to save the gratitude statements in history.
#thankyou
Slack ChannelBack when I worked at Lavanda, I introduced the #thankyou
Slack channel.
Why?
I wanted to express my gratitude to another colleague, in public.
Why?
I always sent my gratitude with a thank you message to the person having offered his time, knowledge and help, to make my life at work better...but I didn't want this to stay only between us.
That person made me happy, and I wanted to show to the rest of the company that I was happy.
I also wanted to show to the rest of the company my happiness of having colleagues who could make others happy.
I wanted to show to the rest of the company who is the person that can make others happy.
I believe that my colleagues who can make others happy, they deserve to be, at least, recognized in public.
And, I wanted to make public, the reason I am thanking my colleague. Not many details. Brief short phrase to let anyone actually be in my shoes for the reason I am happy for. To give a little more context and value to this open gratitude.
Then, everyone went mad about it. They loved it.
And they even created a thank you counter. The tacos.
And they put some limits. Every day you can thank up to 5 times. You can give your 5 tacos to the same person, if you want, or give each one of the 5 to different. Doesn't matter, but you can only spend up to 5 tacos each day.
And they even have a leader board:
So, employees, earned tacos on a daily basis. And they gave tacos to other colleagues too.
Is this a common practice in companies. I didn't know. Until I saw this:
Ohhh! They have a #thanks
channel. Similar to the one I introduced at Lavanda! I was so happy I saw that.
And then I also found this:
A company that offers a peer-to-peer recognition platform. Great!
So, it make sense!
All tacos were deleted 😭.
I left Lavanda, my tacos have gone away. I couldn't take my tacos with me 😢.
I guess you immediately get the point.
The tacos, they presented a value to me, which
I lose when I leave the company,
I lose when the centralized entity that keeps track of them stops to exist.
So what one might say!
I am saying that gratitude that I receive throughout my professional life should belong to me.
It is a value that I want to keep on having, forever, registered in history.
And I want to accumulate such value even, going from one company to the next.
It is part of my reputation as a professional.
Join Arigatai.
Arigatai, with symbol ARIG
, stores the gratitude value on Ethereum, as an ERC-20 token.
ARIG
, is my professional reputation points on the gratitude dimension.
When Arigatai
Smart Contract is deployed it doesn't have any initial circulation. I.e. the circulating supply is 0
.
Minting starts when clients call the external functions arigataiDeliver()
and arigatoAccept()
This is the signature of the function:
function arigatoDeliver(
address _recipient, // The EOA that will receive the `ARIG`
uint256 _amount, // The amount of `ARIG` the _recipient will get
bytes[640] memory _reason, // The reason sender is sending the _recipient this amount of ARIG
) external;
There are some rules for this call to succeed.
The caller should be an EOA, not a contract.
Recipient should be an EOA, not a contract.
The caller should not exceed the maximum daily delivery amount which is 5.
This function does not actually create ARIG
. It is the arigatoAccept()
that does.
function arigatoAccept(
address _sender, // The EOA that sent the arigatoRequest()
uint256 _amount, // The amount of $ARIG that will be accepted
) external;
The caller needs to have a pending ARIG
delivery from the _sender
.
The pending delivery should be for the _amount
.
The delivery should have been created within the last 24 hours from acceptance.
So, it is the arigatoAccept()
that does the actual minting of the ARIG
token.
When arigatoAccept()
succeeds, the caller gets the amount of ARIG
and there is a record created (Arigato
record) in the state of the contract to record the details of the reward.
The arigatoAccept()
will internally call a _mint()
function like:
_mint(msg.sender, _amount)
and will also take care to create the Arigato
record.
name
: ARIGATAI
symbol
:ARIG
decimals
: 0
. The value ARIG
token is not divisible.
Arigato
Records?There is a function that allows pagination access to the Arigato
records of an address:
function getArigatos(address receiver, uint256 start, uint256 count) public view returns (Arigato[] memory);
Also, there is a function that returns the total number of Arigato
records of an address:
function getArigatosCount(address receiver) public view returns uint256;
Contract keeps track of the recipients and their Arigato
records. Building a Leader Board, is outside of the scope of the Smart Contract, but we have other plans for it.