Initial Claimdrop Functional Specification
1. Purpose
The purpose of this document is to outline functional specifications for the web-based UI relating to the initial SPK Network token claimdrop.
2. Scope
This document will focus on the initial SPK Network token claimdrop functionality within a web-based end user application. Hive blockchain participants will need to claim the SPK Network token, LARYNX, to take part in the SPK Network Peerplays community on the first day of its release.
2.1. Components
Specific components and features covered include:
the SPK Network Claimdrop Homepage Layout
Hive Participant Authentication Methods:
Hive Posting Key
Hive Keychain
Hivesigner
Initial Claimdrop Page:
instructions for claiming tokens
form for claiming tokens
checking the status of claimed tokens
Claimdrop Lookup Page:
search available claimdrops by Hive account name
Help Page for First Level of User Support:
FAQs
How-To Guide
"Contact Us" info
3. Document Conventions
For the purpose of traceability, the following code(s) will be used in this functional specification:
ICD-#
Initial Claimdrop Requirement
The keyword shall
indicates a requirement statement.
The word app
in this document refers to the web-based UI relating to the initial SPK Network token claimdrop that is the subject of this document (unless otherwise noted.)
4. Process Overview
The processes which will be described here:
Authentication Methods
using the Hive participant's Hive posting key
using Hive Keychain
using Hivesigner
Claiming Tokens & Checking the Status of Claimed Tokens
Lookup Claimdrops Available by Account Name (amount of LARYNX)
Finding Help
4.1. Authentication Methods
4.1.1. Using the Hive Participant's Hive Posting Key
To authenticate using the Hive Participant's Hive Posting Key:
User navigates to the initial claimdrop page of the app. Or the user clicks the authentication indicator in the app header.
User selects the option to sign in with their Hive Posting Key.
User is prompted to enter their Hive account name and Hive Posting key in a login form and clicks submit.
The app can use the Hive Posting key to authenticate the user on the Hive blockchain.
4.1.2. Using Hive Keychain
Reference: Hive Keychain
To authenticate using Hive Keychain:
User navigates to the initial claimdrop page of the app. Or the user clicks the authentication indicator in the app header.
User selects the option to sign in with Hive Keychain.
The Hive Keychain login modal pops up to prompt the user to sign in.
The app can use the key verification feature of Hive Keychain to authenticate the user.
4.1.3. Using Hivesigner (Implicit Grant Flow)
Reference: Implicit Grant Flow with Hivesigner OAuth2
To authenticate using Hivesigner:
User navigates to the initial claimdrop page of the app. Or the user clicks the authentication indicator in the app header.
User selects the option to sign in with Hivesigner.
User is asked to authorize the app.
Hivesigner OAuth2 authentication server passes an access token back to the app.
The access token (while not expired) authenticates the user in the app.
4.2. Claiming Tokens & Viewing Claimdrop Status
Assumptions: The user participates in the Hive blockchain and owns HIVE and/or HIVE POWER (HP).
To claim SPK Network tokens and/or check the status of their claim:
User navigates to the initial claimdrop page of the app.
User authenticates their Hive account using one of the three authentication methods.
User is asked to authorize the app.
Hivesigner OAuth2 authentication server passes an access token back to the app.
User, now authenticated, can view the snapshot data related to their Hive account including:
How much LARYNX is available for them to claim.
How much they have already claimed.
If a Peerplays account exists for them.
If so, their basic Peerplays account information.
User clicks a button to claim their available LARYNX tokens.
A Peerplays account is created and the tokens are sent there.
User is notified of a successful claim and the status is updated.
4.3. Looking Up Available Claimdrops by Account Name
To find available claimdrops (amount of LARYNX) for any given Hive account name:
User navigates to the lookup claimdrops page of the app.
User enters a Hive account name into the provided search bar and clicks a submit button.
The page will display, for the given account name:
amount of LARYNX available to claim
claims that have already been made with their timestamps and amounts
the Peerplays account associated with the Hive account
4.4. Finding Help
To find help:
User navigates to the help page of the app.
User navigates to the FAQ page.
User navigates to the Contact Us page.
5. Context
The app will provide a user-friendly experience with the single purpose of allowing Hive blockchain participants to claim SPK Network tokens on the Peerplays blockchain, namely:
LARYNX
These tokens are being distributed through a claimdrop mechanism to holders of HIVE and HP. Participants of the Hive blockchain require a way to claim these tokens. Peerplays accounts must also be provided for claiming these tokens as the SPK Network tokens will be native to the Peerplays blockchain. The initial claimdrop is scheduled for January 2022. After the initial claimdrop, subsequent monthly claimdrops will occur for a limited time. Last, tokens left unclaimed after the claimdrop period is over will be distributed so as not to lock up the tokens.
Some details about the claimdrop:
5.1 LARNYX token tokenomics
Total LARYNX Tokens
This will be equal to the total number of HIVE and HIVE POWER at the time of snapshot
HBD and claimdrop
HBD is not considered for claimdrop
Ratio
Each HIVE or HIVE POWER will get 1 LARYNX
Are there any accounts excluded?
At this point we have excluded the Hive DAO account and the null
account
6. Design Diagrams
6.1. Images
FIG 1. SPK Network Claimdrop: Homepage Design Wireframe
FIG 2. SPK Network Claimdrop: Initial Claimdrop Page Design Wireframe
6.2. Downloads
7. Requirements
Requirements specific to the items outlined in this functional specification are as follows.
7.1. App Layout
ICD-1 if an error occurs at any point, the app shall display meaningful error information to the user and provide them with actions they can take to attempt to resolve the error.
ICD-2 shall be publicly available for all site visitors.
ICD-3 shall display the site header and footer for all pages of the app, with the exception of pages necessary for authentication.
ICD-4 shall display branding and graphical design consistent with Peerplays, SPK Network, and Hive branding guidelines throughout the app.
7.2. App Header
ICD-5 shall display identifying branding.
ICD-6 shall provide an authentication indicator which signals the authentication status of the user.
ICD-7 shall allow a user to begin any authentication workflow via the authentication indicator.
ICD-8 shall allow an authenticated user to navigate to their claim status information.
7.3. App Footer
ICD-9 shall display identifying branding.
ICD-10 shall provide navigation to the following app pages/features:
The homepage
The claimdrop lookup page
The claim page
The help page
ICD-11 shall provide links to off-site resources relevant to the SPK Network Claimdrop.
7.4. App Homepage
ICD-12 shall display a call to action for users to navigate to the claim page.
ICD-13 shall provide a link to the claim page.
ICD-14 shall display a countdown timer to the end of the current claimdrop period.
ICD-15 shall display a section with details about the claimdrop, including but not limited to:
The claimdropped tokens (LARYNX)
Info about SPK Network
Info about Peerplays
Rules of the claimdrop, timeframes, unclaimed tokens, etc.
Links to relevant sources
Other marketing material
7.5. App Lookup Claimdrop Page
ICD-16 shall provide a search bar for searching claimdrops by Hive account name.
ICD-17 shall, upon a successful search, display the following for the given Hive account:
amount of LARYNX available to claim
claims that have already been made with their timestamps and amounts
the Peerplays account associated with the Hive account
ICD-18 shall, upon an unsuccessful search, display a "Hive account not found. Please try a different Hive account name." message.
7.6. App Claim Page
Every Hive blockchain user who is not in a blacklist will be able to claim LARNYX miner tokens. At the beginning only null
account will be present in the blacklist.
ICD-19 Special accounts and blacklist
A list of accounts will be maintained for special accounts and blacklisted accounts. The special accounts, like the Hive DAO account, will be exclused from the claimdrop. A blacklist will be maintained which also excludes the listed accounts from the claimdrop. This is a precautionary feature. Initially only the null
account of the Hive blockchain will be added to the blacklist.
If a Hive account is added as a blacklisted account, an error message shall be displayed when authenticaton is attempted with the account: "You have entered a blacklisted account [blacklisted-account-name]. No additional information is available."
The accounts added to the blacklist shall be permanent. No method to remove or edit them will be available.
ICD-20 shall display a process indicator which shows the steps of the claim process and where the user is within the process.
ICD-21 given the current process step the user is on, the app shall display the following:
If not signed in, display:
message prompting the user to authenticate their Hive account
a button to begin any authentication workflow
the remaining time left to initiate a claim
If signed in, but the user has not claimed any tokens, display:
the user's Hive username and profile picture
the user's snapshot balances
tokens available to claim
a button to initiate a claim during the claimdrop period. [claim-drop-button]
the claim drop button will be active only during the claim drop period
the remaining time left to initiate a claim
If signed in, and the user has claimed some tokens, display:
the user's Hive username and profile picture
the user's snapshot balances
the user's previous claims if any, with timestamps
the user's account information for the Hive and Peerplays blockchains
7.7. App Help Page
ICD-22 shall display navigation to all available support channels, such as:
FAQs
How-To Guides
Support Contact Info
Last updated