Now, that Hydro Community is growing and getting more popular, is a good moment to introduce yourself in Snowflake Dashboard, the Hydro DApp Store built over Snowflake protocol, that is currently available on Rinkeby network.
First, it's important to learn the terms involved in Snowflake protocol. As defined in documentation, Snowflake is an identity protocol designed to protect private data from identity theft on the blockchain by providing a major barrier to identity theft attempts. Snowflake follows the ERC 1484; this paper defines each Snowflake identified by an EIN (uint type), that are "incrementing uint identifiers starting at 1". This EIN is the unique snowflake Id and is used by snowflake contracts as an identifying key.
From the start, you must have an ethereum account (on Rinkeby network) and have installed Metamask in your browser. Then, you navigate to snowflake dashboard website, currently in beta version. Before using snowflake dashboard for the first time, the user must claim a snowflake; you'll be asked to introduce an HydroID (that mustn't be previously used by anyone), and send a signed transaction.
As the result, you will get a unique numeric ID; with this Snowflake ID, the user can get logged in into the dashboard and access all functionality.
After entering, the snowflake dashboard shows your credentials: unique EIN (201 in the example below), your HydroId ("jzafra44" in the example), and the hydro funds available in the snowflake (2975 HYDRO in the example).
What make Snowflake unique? Let's see:
- user is represented by an EIN, numeric key, not by any address. Using numeric ids is much more affordable and efficient than using address for developing and using smart contracts. Then, transactions will be cheaper in Gas consuming that using addresses. Also, not using eth wallet addresses directly, make snowflake more secure against identity thief.
- every snowflake can have one or more associated ethereum addresses. Usually, an intrepid user can have lot of eth address used in different exchanges, for airdrops or another uses. Snowflake allows to group all this address in one unique ID.
- a snowflake can have HYDRO funds, as they are the tokens used in snowflake dashboard to "buy" or get your snowflake linked with any of the available Dapps. Also, these tokens must be required as payment inside Dapp functionality.
Once we have clearly defined what a snowflake is, let's view snowflake dashboard functionality. You can do this actions with your snowflake:
- See a list of linked Dapps and access to them
- Go to DApp store and register to any available DApp! When registering into a DApp, you must pay a fee in HYDRO. Also you must establish the allowance, that is: the funds of your snowflake that are allowed to get paid or used from inside the DApp, before "recharging" it. This is a security check, because you are not allowed to expend more HYDRO inside a DApp that your existing allowance. NOTE that allowance can be changed in any moment after registration, by selecting the DApp, changing allowance, and submitting changes.
- De-register any previously registered Dapp.
- Buy HYDRO with ETH from your current ethereum account (that are selected in Metamask or eth provider when opening the dashboard), and deposit it into your Snowflake.
- Deposit HYDRO from your current account into your Snowflake.
- Withdraw HYDRO from your Snowflake into your current account.
- Claim a new address to be linked into your snowflake
Thus, you can fund your snowflake in two ways: by transfer HYDRO tokens directly (than can be acquired in any supported exchange as bittrex or bitmart), or buying then from ETH.
Let's give a look to the DApp store.
In the Dapp store, you can see the available DApps identified by Name and Image. Last screenshot shows the Dapp store with two Dapps: the default Status DApp, and a PetFriend Dapp. Your previously acquired Dapps are shown with a "tick" mark. You can register by clicking the Dapp logo, introducing Allowance and confirming when prompted.
From developer's point of view, usually snowflake DApps are called Resolvers, because every dapp listed here is a smart contract that must inherit the SnowflakeResolver contract. This base contract gives basic functionality to all snowflake Dapps, including support for snowflake ID, trasferring funds between snowflake and DApp, and Hydro or Identity Management services.
Finally, I hope you enjoyed this lines about what Snowflake Dashboard is, and what represent for Project Hydro, and its development opportunities. Smart contract developers can make and deploy their own Dapps, getting paid from users by providing useful functionality to the dashboard; there are plenty of docs and guidelines for developers helping them to learn and easily make new DApps for snowflake dashboard. Also give a look at HCDP!