Ethereum Blockchain Platform a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud.
- The user should be able to perform the following operations with the currency:
- Create personal wallets
- Transfer currency tokens between different wallets
- Monitor balance of personal wallet
- Use the currency tokens to pay for selected goods and services from available merchants
- There should be the following administrative options available:
- Emit specified amount of currency tokens and distribute those between selected members
- Notify users about new transactions via email
- Search and analyze information about transactions and network statistics
- Users should be able to perform all operations with the cryptocurrency using only client application in a web browser or in mobile phone
- There should be the ability for third parties to perform basic operations (authentication, balance check, tokens transfer) using provided API
- Blockchain – a fork of the world-known Ethereum blockchain platform in a “Private” mode. In this configuration, all blockchain nodes are situated inside the system and cryptocurrency users should use one of the client applications to connect the currency backend functionality. Business logic implemented using Ethereum “smart contracts” – code blocks executed distributedly and shared between all nodes in the blockchain network.
- Frontend – client applications providing basic user interfaces to work with the currency. There are several applications for different platforms: web browser, iOS, and Android native clients.
- Backend API – server-side application responsible for processing user requests and dispatching them into the internal blockchain network and storage components. Backend API provides REST interface and consists of two parts:
- Private API – set of REST endpoints available only for internal applications including the Frontend and Exchange
- Public API – REST endpoints open to external applications for integration with the Cryptocurrency Platform
- System DB – relational database to store non-blockchain data (website accounts and configuration details)
- Exchange Frontend – client application providing a user interface for the Currency Exchange
- Exchange Server – server-side application implementing the business logic of the Currency Exchange. Exchange Server provides REST interface and could be considered as an extension to the Backend API.
- Blockchain Monitor – server-side application monitoring blockchain events (blocks, transactions) and logging them into Transaction DB for future search and analysis.
- Admin Interface – client application providing a user interface for system management and monitoring
- Transaction DB – fast scalable data storage used for storing transaction events.