Gridcoin online wallet
I'm on the planning stage of gridcoin online wallet. I'll try to illustrate how I create new resources. Below you can see lists of features and interfaces I think to implement.
Features:
- Web interface
- 2FA
- POST API
- QR codes
- Captcha register/login
- Mail notices
- Multiple languages support
- Auto wallet backup
Tables (database structure):
- users - uid, mail, login, password_hash, salt, balance, register_time, login_time, api_enabled, mail_notices_enabled, withdraw_address
- auth_tokens - uid user_uid, token, timestamp
- wallets - uid, user_uid, address, received
- api_keys - uid, user_uid, key, access
- labels - uid, user_uid, address, label
- transactions - uid, user_uid, amount, address, status, tx id, add_time, sent_time
- mail - uid, user_uid, mail, subject, body, add_time, sent_time
- variables - uid, name, value, timestamp
Variables - used to change pool settings from pool interface:
- payouts_enabled - allows enable or disable payouts for all users
- login_enabled - allows enable or disable payouts for all users
- api_enabled - allows enable or disable API calls for all users
- global_message - text for header on every page
- news - news section text
- current_block - current Gridcoin block
- current_block_hash - current Gridcoin block hash
Web interfaces:
- Login/register page
- Balance - you can see your balance here, also can send some funds and view last 10 transactions
- Address book & send - address book, also with send ability
- Receive addresses & qr - list of all receiving addresses
- Transactions - list of all your transactions
- Settings: - 2FA, api, api_key, password, mail, mail_notifications
- Administration page - global options, news editor, client status
Forms (user actions):
- generate_new_address - generates new receiving address
- send - for sending funds
- add_address_alias - change address book
- edit_address_alias - change address book
- delete_address_alias - change address book
- apply_settings - change settings on settings page
- register - add new user
- login - check existing user and login
- global_enable_login - enable logging in for ordinary users
- global_disable_login - disable logging in for ordinary users
- global_enable_payouts - enable payouts
- global_disable_payouts - disable payouts
- global_enable_api - enable API calls
- global_disable_api - disable API calls
- global_message_edit - edit global message
- news_edit - edit news
API (almost all functions from block.io):
- send {address} {amount} - for sending
- get_balance - get account balance
- get_address_balance {address} - get balance of specific address
- get_new_address - generate new address
- get_my_addresses - get addresses list
- get_current_price - get current Gridcoin price
- get_transactions - get transactions list
- get_address_book - get all address book records
Gridcoin client interaction commands (not a complete list):
- getreceivedbyaddress - for checking user address balance
- listtransactions - for getting transactions
- sendtoaddress - for sending funds
How balance works:
- User balance is all received funds (getreceivedbyaddress) minus all sent funds (stored in DB)
If you think wallet need another features, you can write them in comments.
Congratulations @sau412! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
Click here to view your Board of Honor
If you no longer want to receive notifications, reply to this comment with the word
STOPDo not miss the last post from @steemitboard: