AVXChange Development

Hello AVXChange community, here’s a development status report of the AVXChange Platform for the month of April 2019. Every week, we will be posting a quick weekly status report of the major accomplishments of our team. Now that we already have our Beta prototype running, the AVXChange team is very much motivated to advance the development of our project and be able to achieve desired goals and timelines.

Detailed AVXChange Weekly Development Update

AVXChange Weekly Development Update: May 17, 2019

Mobile Application Updates
Completed Tasks:
Cleaned/Refractored code for:
– Main screen
– Dashboard screen
– History screen
– Login screen
Navigation/changing screens improved
Revised file structures divided to 3 file types:
– Styles
– Functions
– UI design
Started developing data handling locally

Next week goal:
Finish screen with applied file structuring as used in finished screens
Design validation with the team
Develop functions for easier integration of data handling coming from API

Backend Updates
Completed Tasks:
Download fix and continuity on network breaks
Merge the audio crawler to main code
Removed file hashing redundancy
– issue: file hashing took twice the amount of time required
Cleared message buffer
– issue: requests are sometimes not received because of parsing errors in message buffer
TV series upload (L1)
– detail(1): parse received data from electron
– detail(2): include chunk hashes of each episode of each season before passing the data to supernode

Next week goal:
Continued research and code testing on UPnP – in progresss
– Addressing – in progress / testing
– Discovery – in progress / testing
– Description – in progress (will finish together with discovery)
– Control – pending
– Event notification – pending
– Presentation – pending
Buffer overflow fix – on hold
TV Series Upload (Supernode)
– detail(1): parse received data from L1 (100%)
– detail(2): process upload payment (0%)
– detail(3): save asset info to asset chain (0%)
– detail(4): tv series info data structure (0%)
– detail(5): load asset info to blockchain (0%)
TV Series Download (supernode)
– detail(1): process download request and payment
– detail(2): return required data to frontend
Audio Upload (L1)
– detail(1): parse received data from electron
– detail(2): relay data to supernode
Audio Upload (Supernode)
– detail(1): parse received data from electron
– detail(2): process upload payment
– detail(3): save asset info to asset chain
– detail(4): audio info data structure
– detail(5): load asset info to blockchain
Audio Download
– detail(1): process download request and payment
– detail(2): return required data to frontend

Frontend Updates
Completed Tasks:
Audio details screen
Audio download screen
Audio View Single File Modal Screen
Dashboard Json design for data parsing in audio details screen
Checkbox added on scan assets UI on share
Network Explorer
– Finalized pages
– Finalized charts
with hover functionality

Next Week Goal:
Audio details functionality – will display album’s details and bands members and will generate table.
Audio single file modal functionality – will display the list of single files of the track for download
Audio download functionality – will fetch the detailed data from the supernode.
TV Series details screen
TV Series and Audio funtionality
Payments on TV show
Fixed metadata on TV show
Continue working on TV shows metadata

Obstacles:
No internal metadata found on scanning assets
Selections of assets to upload
Filtered assets information

AVXChange Weekly Development Update: May 10, 2019

Backend Updates/Completed Tasks:

UPnP
 
* Document (skimming)
* Initial implementation of UPnP steps:

  • Addressing – (ongoing research and implementation)
  • Discovery (Advertising Devices) – (ongoing research and implementation)
  • Description (Detailed device capability information) – (ongoing research and implementation)
  • Control – pending
  • Event Notification – pending
  • Presentation (UI) – pending

* Download debugging, refactoring, and enhancements support.
 

Layer One & Layer Two
 

* Notify downloader that source(seeder) has disconnected

* Notify source(seeder) that downloader has disconnected

* Reconnect to source on downloader disconnection

* Simulate downloader disconnection (download should start again after reconnection)

* Simulate source disconnection (download should start again after reconnection)

* Debug download continuation on source connection

 
Next week goal:

    * Simulate download with multiple seeders (one source disconnects while downloading)
    * L2 to L2 reconnection
    * Massive file transfer / download

    Challenges:

    * Download testing takes quite a while
    – Download does not continue sometimes

Frontend Updates

Completed Tasks:

 
Network Explorer

  • Layout main core style back-end
  • Implement box ratings
  • Added charts on box rating
  • Applied responsiveness
  • Created backbone for other pages

 
Layer One

  • Wishlist
  • See more
  • Limited card dash board
  • Applied responsiveness
  • Rearranged codes

Next week Goal
 
1. Network Explorer
 

  • Finalizing pages
  • Finalizing charts

 
2. Desktop App
 

  • Share choosing folder/file features
  • Fix TV shows
  • Audio details screen
  • Audio download screen
  • Audio payment screen
  • overall audio funtionality

Challenges:
 
1. Network Explorer
 

  • Finding charts that suit for proposed layout
  • Customized charts

 
Completed Tasks:
 
* Solve screen responsiveness issue
* Finished screens:

  • Login
  • Home
  • Dashboard
  • History
  • Send

 
Layer One

  • Wishlist
  • See more
  • Limited card dash board
  • Applied responsiveness
  • Rearranged codes

Challenges:
 
* Pop up keyboard disrupting UI

Next week Goal
 
* Contact list
* Sending via importng from contacts function
* Pending transaction UI
* Refractor

AVXChange Weekly Development Update: May 3, 2019

Backend Updates/Completed Tasks:

Audio Crawl

  • Single music file
  • Album
  • (Album poster, description, genre / tags, album title, tracklist, duration, release date)

Fine Tuning Download

  • MP4 file fix (chunk hash update – a bit longer but much more accurate)
  • On app shutdown / restart (continue download from where it was left)
  • On source network breaks
  • Reconnect tries
  • Resume when a new connection is established
  • Merged the desktop-app from previous repository to the new and official repo of avx.
  •  
    * L1 to L2 Reconnection Coding, Testing (backend), integration w/ frontend
    * Continue Pending Download on Login
    * Storing Asset info into a file on download
    * Download fix
    Issue: .mp4 files do not play after download has been finished

Next week goal:

    * Continue pending download on source reconnection
    * Download testing and debugging
    * L2 to L2 Reconnection
    * Massive file transfer / download
    * Merge asset and currency chain
    * Message buffer network choke fix

    Obstacles:

    * Testing results take quite some time to finish for downloads
    * Complexity of code fixes
    * Testing in 2 or more computers and making sure that codes are synch accordingly

    Frontend Updates
    Completed Tasks:

    * Sending Funds in desktop-app is now the same with the mock-app.
    * Wishlist screen is now ready for adding wishlists movie files.
    * Fixed the 2 lines maximum section for movie, tv shows, and audio in the main dashboard.
    * Added reconnection feature from Backend.
    * Reconnecting notification from L1 to supernode.
    * Share fixed metadata after choosing folder for music.
    * Will focus on main dashboard screen functionality.
    – Wish lists
    – See more
    – Limited cards in dashboard
    – Additional upload screen

AVX Site

  • Changes on ETH plugin data crawled
  • Progress status
  • Improved styles
  • Apply changes to Chinese site
  • Added modal to show instructions on how to buy AVX

Next week goal:

    * Start coding for the Network Explorer
    * Templates
    * Setup framework and implement login feature

    Obstacles:
    * AVX Site
    Modal not working
    Scripts are broken on homepage that needs to fix

    Mobile Application
    Completed Tasks:

    * UI semantics and syntax for react native
    * Finished some screens (prototype)
    * Following the given design was going good except for some adjustments in positioning
    * Changes in login to match the desktop client app account handling process

    Obstacles:
    * Not yet verified if code is functional with IOS, concluded that it may be used but may have some changes specially with components and libraries

Next week goal:
Responsive Screens:

  • Home
  • Dashboard
  • Transaction history
  • Login

Overall Development Status

Layer One

These are the most basic of nodes which features viewing, downloading, sharing, and distribution of assets.

 
Features that are available:

  • Wallet Creation
  • Login
  • Wallet Transaction Information
  • Fund Transfer
  • File Download
  • File Sharing
  • View available contents
  • View purchased file [My Collection]
  • Payment Distribution
  • Add to cart
  • Community

%

Progress

Registration

Upon registration, a built-in wallet will be created, generating a private key which will be used to create the public key address and encrypted wallet data.

%

Progress

Login

Requires the username and password entry by the user.

%

Progress

File Sharing

These are the most basic of nodes which features viewing, downloading, sharing, and distribution of assets. These nodes can earn through distribution of shared and downloaded assets.

%

Progress

File download

These are the most basic of nodes which features viewing, downloading, sharing, and distribution of assets. These nodes can earn through distribution of shared and downloaded assets.

%

Progress

Compensation (Payment Distribution)

Since our platform aims to compensate IP owners and distribute rewards to those who share the files, here’s how the payment is being distributed among network participants and IP owners.

  • 60% AVX goes to Intellectual Property owners account.
  • 35% AVX, normally goes to file uploaders, but on file genesis, this goes to the AVX network as a fee to save the new file into the AVX Network. Please note you will not be uploading this file at this time, it is only entered into the records as being available from you. Any and all uploading will be compensated.
  • 5% AVX will go to the nodes maintaining the AVX network.

%

Progress

Fund Transfer

Transferring of AVX from one wallet account to another.

The AVXChange platform is built using Layers, the basic network layer (L2) currently has the following:

Layer Two

Supporting nodes which is the heart of the AVX decentralized system. The Layer 2 nodes basically does storage and retrieving support for currency and asset chains. They also help in processing large amount of data and information distribution across the network. These nodes earn through data distribution payments by the system. Layer 2 nodes can choose to have Layer 1 features.

  1. Wallet Creation
  2. Login
  3. Staking
  4. Read / Write on Ledger

%

Progress

Registration

Upon registration, a built-in wallet will be created, generating a private key which will be used to create the public key address and encrypted wallet data.

%

Progress

Login

Requires the username and password entry by the user.

%

Progress

AVX Token

The AVX Tokens will be used to buy audio and video content on the AVXChange network and will be earned by those sharing the files and those maintaining the network nodes.

While preparing for the mainnet launch and release of official client application, the AVX Tokens will exist as ERC20 Tokens on the Ethereum Network and users will be able to send and receive their ERC20 AVX Tokens on their Ether wallets.

%

Progress

Fund Transfer

Transferring of AVX from one wallet account to another.

The AVXChange platform is built using Layers, the basic network layer (L2) currently has the following:

Blockchain

It is where the crypto currency and record of transactions are stored. Immutable and agreed on my all layer 2 nodes currently using Proof of Stake.

We created our own blockchain because we don’t want to compromise the scalability and overall performance of our system and we want to have a network that is built specifically for asset trading.

Even though multipurpose distributed platforms such as Ethereum are available, we feel is in the
AVXChange to build a platform specifically to do what we need it to do, which is distribute large media files and compensate individuals for their role in distributing the media, maintaining the network, and creating the the intellectual property.

Additionally, we have the option of adding functionality and features in the future depending on our needs.

Asset Chain

A distributed ledger in which a record of media data and crawled metadata from the IP asset the media is associated. This ledger iss mutable and maintained on the network layer (Layer 2) of the system and replicated from network node to network node.

%

Progress

Supernode

Supernodes are elevated Layer 2 nodes who reached a certain criteria score. These nodes added features include possible transaction pool storage, consensus, and block creation. These nodes earn more than Layer 2 since they have more data traffic

AVXChange Technical Roadmap

Technology Used:

Bit Flipping

  • Quick and easy implementation of creating a randomly unique number. With a range of 160 bits which will equal to 48 digit numbers (Quindecillion) at max. This astronomical range will ensure that it is almost impossible to create the same unique number.  

SHA256

  • Is a popular tried and tested hashing algorithm used by many cryptocurrency system.

XOR

  • Quick and easy implementation of encryption and decryption technique. Combined with SHA256 to improve security.

Electron (Front End)

  • Due to the complexity of designing in native language compilers it was a practical choice to go with this technology that allows designing in web style for a desktop application. It uses the basic HTML, CSS, and Javascript which is already very well known, making it easy for developers to use compared to designing in complex languages (e.g. C++, Java, etc.).  

JQuery

  • Is an easy plug and play Javascript framework which helps in simplifying DOM traversing.

NodeJS

  • Server side scripting Javascript which allows seamless network communication between the backend and Electron (frontend)

 

C++ (Backend)

  • A globally known language and one of the fastest if not the fastest programming language in the world. A strongly typed language which compels programmers to strictly adhere to data type protocols making sure of data integrity. This programming language also provides the flexibility to create any features and security  that might be needed in the system.

Nlohmann / JSON

  • An open source with an easy plug and play header file which provides JSON handling structures and methods

Okdshin / PicoSHA2

  • An open source with an easy plug and play header file which provides a method to get the SHA256 of a string

ReneNyffenegger / CPP – base64

  • It is required to convert binary data into base64 for you to be able to pass it over the network and the ReneNyffenegger base64 is a free open source file which provides this conversion method.

Mohaps / TinySHA1

  • A shorter version of the SHA256 is used for hashing file chunks to minimize hoard file sizes. The TinySHA1 is open source and it provides an easy to use method to create the SHA1 hash.

Winsock 2 (Internal)

  • This is the latest version of the window socket for c++ which provides the needs for network programming.

MinGW64

  • 64-bit C++ compiler. No commercial IDE is being used for compiling the program making it more flexible on where to write and compile codes.

ffmpeg

  • A popular open source file analysis library used for reading file details and other conversions. The AVX system basically uses this for file detail reading only.

Popper JS

  • A free pop-up plugin script with a specific design and animation.

Bootstrap 4

  • A free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS- and JavaScript-based design templates for typography, forms, buttons, navigation and other interface components. This is basically the practical way to create web based designs nowadays since it helps make designs quicker and much more responsive.

Contact Us

Please let us know if you have questions, thoughts, or concerns. We are eager to listen to feedback.

1 + 10 =

Copyright © 2019 AVXChange | Audio Video eXchange  All Rights Reserved

Share This

You can buy AVX token by sending your ETH to the Smart Contract for our Crowdsale

Send your ETH Here:

0x4211D8d666f37C359F92F9F3B229A0a27Af2a619

*Your ETH must come from a compatible ERC20 token wallet ONLY! NO EXCHANGE WALLET! Your corresponding AVX tokens will be automatically sent to your ETH wallet