LogoLogo
PAO DocsCommunity DocsInfrastructure DocsPeerplays.com
  • Developer Documentation
  • API Reference
    • Peerplays Core API
      • Popular API Calls
      • Account History
      • Asset API
      • Block API
      • Crypto API
      • Database API
      • Network Broadcast API
      • Network Nodes API
      • Orders API
    • Wallet API
      • Account Calls
      • Asset Calls
      • Blockchain Inspection
      • General Calls
      • Governance
      • Privacy Mode
      • Trading Calls
      • Transaction Builder
      • Wallet Calls
    • Bookie API
      • General Calls
      • Listeners
      • Tournaments
  • Peerplays API Libraries
    • Python Peerplays
      • Installation
      • Creating an Account
      • Creating a Peerplays Wallet
      • NFT API
      • Marketplace API
      • Role Based Permissions API
  • Development Guides
    • Creating User Issued Assets
    • Introduction to Permissions
    • NFT Minting
    • Calculating Costs
  • The Cookbook
    • NFTs for Staking Creator Tokens
  • Tools and Integrations
    • PeerID
      • 1.0.0
        • Infrastructure
          • Deployment on a Linux Serve
          • Deployment to AWS ECS
            • Building the Docker Images
            • Storing Secrets in Amazon Parameter Store to use in ECS
            • Creating the Task Definition
            • Creating the Cluster
            • Creating the Service
        • Development
          • How does PeerID work without storing the keys ?
          • Authentication with PeerID
          • Brain Storming
          • Software Requirements
      • Authentication with PeerID
      • Requirements Specification
    • Random Number Generator
      • RNG Technical Summary
      • RNG API
  • Supporting & Reference Docs
    • Peerplays Development FAQs
    • Sidechain Operator Node (SON) Development
      • Generic Sidechain Docs
        • Quick joining GLADIATOR
        • Changes to Peerplaysjs-lib
        • Requirements Specification
        • Low Level Designs
          • bitcoin-deposit-handling-lld
          • bitcoin-operations-draft
          • bitcoin-sidechain-handler-lld
          • bitcoin-sidechain-multisig-bitcoin-wallet-and-bitcoin-addresses-pw
          • bitcoin-withdrawal-handling-lld
          • btc-address-scripting-mechanism
          • comparison-between-scenarios-for-handling-deposits-and-withdrawals
          • exchange-rate-list
          • generic-sidechain-deposit-hld
          • generic-sidechain-high-level-design
          • generic-sidechain-listener-hld
          • generic-sidechain-withdrawal-hld
          • refund-btc-mechanism
          • son-configuration
          • son-consensus-communication-and-transaction-signing-on-chain-lld
          • son-de-register-proposals-lld
          • son-objects-and-operators
          • son-rewards-lld
          • son-voting-lld
          • son-wallet-list_sons-lld
          • creation of a multi-sig bitcoin address lld
          • claiming initial son vesting lld
          • changeover and SON maintenance scenarios lld
          • user-sidechain-addresses-mapping
          • wallet-commands-for-son
        • Functional Specs
          • SON Configuration
          • SON rewards
          • SON Voting and Consensus
          • SONs switchover scenarios
          • SON Status Operations & Monitoring
          • Proposals
          • SON Smart Contracts
      • Bitcoin Sidechain Docs
        • Functional Specs
          • btc-refunds
          • voting-and-consensus
          • son-switchover
          • son-rewards
          • son-proposals
          • son-configuration
          • heartbeat-monitoring
          • BTC Transaction Processing & Signing
          • Bitcoin Withdrawal Handling
          • Bitcoin Deposit Handling
          • SON Multisig Bitcoin Wallet
      • Hive Sidechain Docs
        • Functional Specs
          • HIVE Deposit Handling
          • HIVE Withdrawal Handling
    • Peerplays DEX Development
      • Peerplays NEX
        • Functional Specifications
          • NEX-FS01 Dashboard Page
            • NEX-FS12 ETH-SONs Deposit/Withdraw Functionality
          • NEX-FS02 Login and Account Creation
          • NEX-FS03 Menus and Nav
          • NEX-FS04 Notifications
          • NEX-FS05a Market Page (alpha)
          • NEX-FS05 Market Page
          • NEX-FS06 Profile Page
          • NEX-FS07 Wallet Functions
          • NEX-FS08 App Settings
          • NEX-FS09 Blockchain Page
          • NEX-FS10 GPOS Page
          • NEX-FS11 WhaleVault Integration
      • Requirements Specification
      • Functional Specs
        • Asset Info Page and Asset Lists
        • Dashboard
        • Exchange Page
        • Login and Account Creation
        • User Account Page
        • Voting Page
    • SPK Network
      • Functional Specs
        • Claimdrop Snapshot Functional Specification
        • Initial Claimdrop Functional Specification
    • NFT Development
      • NFT Store
        • NFT Store User Stories
        • NFT Store UI HLD
        • NFT Store Requirements Specification
        • Functional Specifications
          • APP-FS01 App Header
          • APP-FS02 App Body
          • APP-FS03 App Footer
          • APP-FS04 App Navigation
          • APP-FS05 Wallet Functions
          • APP-FS06 App Home Page
          • APP-FS07 Account Page
          • APP-FS08 Browse View
        • App Page List
        • Requirement Traceability Matrix
    • Operation IDs List
    • Sidechain Flow Diagram (HIVE coin)
    • Sidechain Flow Diagram (Bitcoin)
    • Sidechain Flow Diagram (Ethereum coin)
    • TradeHands Explorer
      • User Personas
      • User stories
      • APP-FS01 Detailed View
      • Draft: APP-FS02 Front Page
      • APP-FS03 Collection Details Page
    • Grafana
      • Grafana Installation
      • Install Grafana Behind reverse proxy
      • Loki Installation
      • Promtail agent Installation
      • Grafana Explorer
    • NEX Deployment & Configuration
      • NEX Deployment
      • NEX - Blockchain API configuration
      • Deploying NEX in a HA scenario
    • API Node
      • MarketCap API
    • TOTO Application
      • FS-Subscription Plan
      • FS-Achievements
  • Development Workflow Docs
    • Development Workflow
  • Other Documentation
    • Peerplays Home
    • Community Docs
    • Infrastructure Docs
    • Site Reliability Engineering
Powered by GitBook
On this page
  • 1. Purpose
  • 2. Document Tracking
  • 2.1 Parent Document
  • 2.2 Categorization
  • 3. Scope
  • 3.1 Components
  • 4. Document Conventions
  • 5. Process Overview
  • 5.1 ETH Deposit
  • 5.2 ETH Withdraw
  • 6. Context
  • 7. Design Wire-frames
  • 8. Requirements
  • 8.1 ETH Deposit
  • 8.2 MetaMask Connection
  • 8.3 ETH Withdraw
  • 9. Appendix A: Glossary

Was this helpful?

Export as PDF
  1. Supporting & Reference Docs
  2. Peerplays DEX Development
  3. Peerplays NEX
  4. Functional Specifications
  5. NEX-FS01 Dashboard Page

NEX-FS12 ETH-SONs Deposit/Withdraw Functionality

The functional requirement for Peerplays NEX application to explain the ETH deposit/withdraw functionality.

1. Purpose

The purpose of this functional specification (FS) document is to detail functional requirements for the Peerplays NEX application (the “app”) relating to the inclusion of ETH as one of the asset in the existing NEX deposit/withdraw functionality in the Dashboard page. The document explains the functionality from a business and user perspective.

2. Document Tracking

2.1 Parent Document

This document is a child document of NEX Dashboard page (NEX-FS01).

2.2 Categorization

This document relates to the following tags, App component

process

page

3. Scope

This FS will describe the requirements and basic design for the app’s ETH withdraw/deposit design and functions.

3.1 Components

Specific components and features covered in this FS include:

  1. Dashboard ETH Deposit function

  2. Dashboard ETH Withdraw function

4. Document Conventions

For the purpose of traceability, the following code(s) will be used in this functional specification:

Code
Meaning

NEX-FS012-#

NEX App Requirement - ETH Deposit/Withdraw Functions

The keyword shall indicates a requirement statement.

The keywords may, could, and should are not requirements but rather indicate items related to requirements that are worthy of consideration.

5. Process Overview

The following process will be described here as follows,

  • ETH Deposit

  • ETH Withdraw

In this process overview, the example is considered as the authenticated user using the application and has an appropriate balance in wallet to perform the transactions.

5.1 ETH Deposit

  1. The user navigates to the Dashboard page's Deposit tab to begin the deposit function.

  2. The select asset option has a drop-down list to select the desired asset.

  3. The user selects ETH from the list of asset available for deposit.

  4. The page loads instruction for initiating a ETH deposit to the user's app account.

  5. User should login the Metamask wallet, from where the ETH asset should be transferred to the user app's wallet.

  6. When the user returns to the app, message will be notified after the successful ETH deposit into the account

  7. Other methods to deposit ETH into the wallet are described below,

    curl http://10.11.12.202:8545 -X POST -H "Content-Type: application/json" --data '{"method":"eth_sendTransaction","params":[ { "from": "0x5c79a9f5767e3c1b926f963fa24e21d8a04289ae", "to": "0x572eA65762bFFf521C11Ce5334FfaaF4bDD4974e", "value": "0x1BC16D674EC80000" } ],"id":1,"jsonrpc":"2.0"}'

    > personal.unlockAccount("0x5c79a9f5767e3c1b926f963fa24e21d8a04289ae", "", 1200)
    > eth.sendTransaction({from: "0x5c79a9f5767e3c1b926f963fa24e21d8a04289ae",to: "0x572eA65762bFFf521C11Ce5334FfaaF4bDD4974e", value: "5000000000000000000"})

5.2 ETH Withdraw

  1. The user navigates to the dashboard page’s Withdraw tab to begin the withdraw function.

  2. The select asset option has a drop-down list to select the desired asset.

  3. The user shall selects ETH asset from a list of assets available for withdraw.

  4. The page loads the instruction for initiating a ETH withdraw from use app's account.

  5. The user reviews the ETH balance in their wallet and enter the required amount of ETH to withdraw.

  6. The user should enter a valid son-account address to which they wish to receive the ETH asset.

  7. The app should check the account name and ensure its validity.

  8. The user should review the withdraw information and click to confirm the withdraw.

  9. The app processes and submit the withdraw request to son-account.

  10. A notification message shall be displayed to indicate the successful ETH withdraw.

  11. The app page will load to reflect the new available balance and any other changes after the withdraw.

  12. The command line to withdraw ETH is explained below,

## The following command can be used to withdraw ETH to son-account
transfer account01 son-account 2 ETH "" true

6. Context

The existing dashboard page holds many of the most used functions of the app to facilitate ease of use and it can be used as the home page. This document include the functionality for ETH deposit and withdraw along with the existing assets in dashboard page.

7. Design Wire-frames

The wire-frame design explain the representation of deposit and withdraw of existing assets.

The same design can be used to represent ETH deposit/withdraw into the dashboard.

8. Requirements

The requirement specific to ETH deposit and withdraw are explained below,

8.1 ETH Deposit

If ETH asset is selected in the asset deposit function,

NEX-FS12-01: shall display the ETH icon in the deposit instructions.

NEX-FS12-02: shall display steps to deposit asset into wallet.

NEX-FS12-03: Shall display the button "Connect Metamask", which on-click directs to MetaMask wallet. From the wallet, ETH asset can be transferred to the User app's wallet. (Only After successful MetaMask connection)

8.2 MetaMask Connection

To perform the ETH deposit, Metamask connection is required.

NEX-FS12-04: shall provide a button named "Connect MetaMask" with arrow which directs to MetaMask wallet to establish connection.

NEX-FS12-05: shall provide an option to input credentials to login into MetaMask wallet.

NEX-FS12-06: shall display check mark in the button when MetaMask is connected and

NEX-FS12-07: shall gray out the button after connection establishment.

The Peerplays user account's son information will be updated with the new Ethereum account information

NEX-FS12-08: shall provide a link at the bottom of the card which helps to download MetaMask.

8.3 ETH Withdraw

If ETH asset is selected in the asset withdraw function,

NEX-FS12-09: shall display the ETH icon in the withdraw function with available asset for withdraw.

NEX-FS12-10: shall provide an option to input "withdraw address" to login into Peerplays account

NEX-FS12-11: shall provide an option to input son-account address in case of ETH asset selection.

NEX-FS12-12: shall provide the details about estimated Fees, Total transaction, confirmation time, etc., based on the amount of ETH asset chosen for withdraw.

NEX-FS12-13: shall provide a button to withdraw ETH after successful validation of account address.

9. Appendix A: Glossary

FS

Functional Specification

ETH

Ethereum Asset

MetaMask

Third-party application used in the deposit of ETH asset to user application.

PreviousNEX-FS01 Dashboard PageNextNEX-FS02 Login and Account Creation

Last updated 2 years ago

Was this helpful?

In this case, can be used as an external application to perform the ETH deposit.

Deposit Asset:

Withdraw Asset:

The overall dashboard designs are available in the below location,

The , , , are the modules in the Dashboard. Click on each topic to learn in details about its requirement.

https://xd.adobe.com/view/84e727ac-fe5c-4c6b-9dd2-d668cec13fc9-d1b4/
https://xd.adobe.com/view/84e727ac-fe5c-4c6b-9dd2-d668cec13fc9-d1b4/screen/e0b637fc-73ee-4b45-80b4-03bace4df74f/
https://xd.adobe.com/view/84e727ac-fe5c-4c6b-9dd2-d668cec13fc9-d1b4/
Dashboard page layout
Asset Deposit function
Asset withdraw function
Asset swap function
Metamask