Ethereal Chain Documentation
  • Introduction
  • Industry use cases
    • Decentralized applications
    • NFT Marketplaces
    • Decentralized finance
  • Wallets
    • Ethereal Wallet Guide
    • App Wallets
      • Ethereal Wallets
  • Web Wallets
    • Web Wallets
  • Command-Line Wallets
    • Command-Line Wallets
    • Paper Wallet
    • File System Wallet
  • Support/ Troubleshooting
  • Staking
    • Staking on Ethereal
    • Stake Account Structure
  • Grants
    • Ethereal's $100 Thousand Grants Program
    • Ethereal's Grants Process
  • Command Line
    • Command-line Guide
    • Install the Ethereal Tool Suite
    • Using Ethereal CLI
    • Connecting to a Cluster
    • Send and Receive Tokens
    • Offline Transaction Signing
    • Durable Transaction Nonces
  • Developing on native Ethereal
    • Programming Model
      • Overview
      • Transactions
      • Accounts
      • Runtime
      • Calling Between Programs
  • Clients
    • JSON RPC API
    • JavaScript API
  • Runtime Facilities
    • Native Programs
    • Sysvar Cluster Data
  • On-chain Programs
    • Overview
    • Developing with Rust
    • Developing with C
    • Deploying
    • Debugging
  • Ethereal Test Validator
  • EVM Integration
    • EVM in Ethereal
    • Legacy Address convention
    • EVM Bridge
  • Integrating
    • Add Ethereal to Your Exchange
  • Validating
    • Running a Validator
    • Validator Requirements
    • Starting a Validator
    • Vote Account Management
    • Staking
    • Monitoring a Validator
    • Publishing Validator Info
  • Clusters
    • Ethereal Clusters
    • Benchmark a Cluster
    • Performance Metrics
  • Architecture
    • Cluster
      • Ethereal Cluster
      • Synchronization
      • Leader Rotation
      • Fork Generation
    • Validator
      • Anatomy of a Validator
      • Blockstore
      • Gossip Service
  • Software
    • Vision Documentation
    • Quick Start
    • Specifications
    • Technical Perspective
  • Tutorials
    • Solidity Tutorials
      • Deploy a NFT (ERC-721) Tutorial
      • Deploy a Smart Contract
      • Deploy a ERC-20 Token
      • How To Build an NFT Marketplace
  • Set up MetaMask (Mainnet)
  • Set up MetaMask (Testnet)
Powered by GitBook
On this page
  • 1.1. Purpose
  • 1.2. Scope
  • 1.3. Definitions and Acronyms
  • 1.4. Overall Description
  • 1.5. EtherealHigh-Level Solution Architecture
  • 1.6. EtherealNetwork High-Level Solution Architecture
  1. Software

Technical Perspective

1.1. Purpose

The document defines the understanding of the general objectives for the creation of the project “EtherealNetwork - innovative blockchain platform - (hereinafter - the software product, System, Platform, “EtherealNetwork”). The document sets out the main requirements for the software product, defines the scope of this product, the purpose of implementation, restrictions and strategic decisions on project implementation, agreed between the Customer and the Developer. The Software Requirement Specification document is the basis for the software product development process.

1.2. Scope

This document was created and should be used within the “Ethereal” project.

All persons mentioned in this document, to some extent, participate in the project or are interested in its implementation.

This document should indicate only the main functions and features of the product, and only those that have been agreed upon by all stakeholders. Functions and features that do not have the status of accepted but are only developments for the future - can not be included in this document without the appropriate designations.

1.3. Definitions and Acronyms

SRS - Software Requirements Specification - this document.

UI - User Interface.

AWS - Amazon Web Services cloud environment.

1.4. Overall Description

“Ethereal” project includes two main components:

1.4.1.1. Navigate to the swap application from Etherealwebsite

1.4.1.2. Connect wallet with Metamask or WalletConnect

1.4.1.3. Buy cryptocurrency via MoonPay

1.4.1.4. Use bridges to move coins cross-chain

1.4.1.5. Select the chain

1.4.1.6. Set the direction of exchange

1.4.1.7. View the details of the deal (rate, fees)

1.4.1.8. Set additional parameters (gas limit, slippage)

1.4.1.9. Confirm the deal

1.4.2. A blockchain network based on Fantom blockchain fork that will provide an ecosystem for creating customized blockchains, deploying smart contracts, with full support of Solidity smart contracts. This solution will allow users to perform the following use cases:

1.4.2.1. Use EtherealNetwork official wallet

1.4.2.2. Use EtherealNetwork native coin Ethereal

1.4.2.3. Connect with Metamask to the testnet and mainnet

1.4.2.4. Run a validator node

1.4.2.5. Run a read-only node

1.4.2.6. Stake native Etherealand get a reward

1.4.2.7. Deploy a smart contract written in Solidity

1.4.2.8. Create a fixed-cap asset

1.4.2.9. Create a variable-cap asset

1.4.2.10. Create a local test network

1.4.2.11. Explore the network for transactions and other on-chain data

1.5. EtherealHigh-Level Solution Architecture

1.5.1. EtherealFE App is a standalone React application. This application is built into several js and CSS files and is meant to be served from the s3 bucket using cloud front.

1.5.2. EtherealApp is integrated with 1INCH API through a secured VPN connection.

1.5.3. A user interacts with EtherealApp from their web browser using Metamask extension (or Wallet Connect integration) for making transactions.

1.6. EtherealNetwork High-Level Solution Architecture

1.6.1. A Validator node consists of three components: state machine, consensus and networking.

1.6.2. An application can communicate to a node via CLI. Opera network supports auditing by permitting participants to join in post-validation mode.

1.6.3. An observer (or Monitor) node consists of a state machine, post validation component and networking component.

1.6.4. The network supports three types of participants: users, validators and monitors.

1.6.5. Each validating node can create new event blocks. Generation of a new event block indicates that the new block and all of its ancestors have been validated by the creator node of that new event block.

PreviousSpecificationsNextSolidity Tutorials

Last updated 1 year ago

1.4.1. A web-based application that will provide a platform for decentralized cross-chain conversion of digital assets based on 1INCH API. This application will have the similar design and functionality as the 1INCH app (). The process of interacting with the application could be described in the following simplified steps:

Fig.1. EtherealHigh-Level Architecture

Fig.2. EtherealNetwork High-Level Architecture

1.6.6. The consensus mechanism is inherited from the Fantom’s Opera Network and described in the Lachesis Whitepaper ()

https://app.1inch.io/
https://arxiv.org/pdf/2108.01900.pdf