Fantom Technical Update — 3

Fantom Foundation
Fantom Foundation
Published in
8 min readDec 21, 2018

Fantom is back with more updates from the technical side! We’re now in the final stretch before our testnet, Fantom 0.4.5-rc.1, is about to be released to the public. Scroll down to find out what our developers and researchers have done to improve Fantom as well as a sneak peak into the Fantom 0.4.5-rc.1 and Fantom Pay!

1. Wallets and Explorer Releases

Both Fantom Mobile and Desktop Wallet Redesigns are now completed and the source code for both are available on the Public Github Repositories.

Fantom Mobile Wallet : https://github.com/Fantom-foundation/fantom-mobile-app

Fantom Desktop Wallet: https://github.com/Fantom-foundation/desktop-wallet

The new designs are consistent with other application Fantom arereleasing. The wallet is available on Windows, Linux and OSX. Releases will be updated periodically here: https://github.com/Fantom-foundation/desktop-wallet/releases.

We have also completed the testing and development of our Web wallet. The web wallet will be active on a new URL for the public Fantom 0.4.5-rc.1 release. The source code is available here: https://github.com/Fantom-foundation/web-wallet.

Here is a preview of it on the live server:

Wallet landing page

Create new wallet screen

The explorer for the Fantom 0.4.5-rc.1 public release has been developed, and the code has been made public. We are currently debugging and making some modifications.

https://github.com/Fantom-foundation/explorer

Here is a preview of the explorer:

Homepage

Individual Transaction Stats

2. Public Fantom 0.4.5-rc.1 Preparation

The public version of the Fantom 0.4.5-rc.1 will be released early next week. In preparation for the release, we have the following prepared:

  1. Public Fantom 0.4.5-rc.1 that anyone can interact with (using go-evm)
  2. Faucet
  3. Web, mobile, and desktop wallets.
  4. Explorer
  5. go-evm implementation.
  6. Documentation, including how-to guides.

3. Fantom 0.4.5-rc.1 Stress Testing

We continue to push the limits of our Fantom 0.4.5-rc.1 build to make sure we maintain quality while keeping requirements (memory, disk, CPU) to a minimum without sacrificing performance.

Here are our benchmark statistics

RES: resident memory, VIRT: virtual memory, HDD: size of lachesis database on HDD

4. Staking Service

We understand not all our supporters have the technical capability to run and stake nodes. As such, we are developing a point and click user interface to allow users to run and stake their own nodes. This service will be provided at base cost from services such as AWS

5. Fantom 0.4.5-rc.1 Documentation

In preparation for the Fantom 0.4.5-rc.1 launch, we have developed comprehensive documentation to get anyone started. This covers topics such as;

  • Lachesis Architecture
  • How to build and deploy Lachesis
  • How to join Fantom 0.4.5-rc.1
  • How to build and deploy your own Dapp
  • How to interact with the demo systems on the Fantom 0.4.5-rc.1

All documentation is available at:

https://github.com/Fantom-foundation/fantom-documentation/wiki

6. Fantom 0.4.5-rc.1 Quality Standards Adherence

In the interests of quality, transparency, and best practices and standards, we have aligned our code base with automation tools that will keep the system to high quality standards. These can all be seen in the Github repositories.

For those not interested in the code details we have also included a high level summary to see what the team has been busy with;

Detailed analysis can also be found at goreportcard:

https://goreportcard.com/report/github.com/Fantom-foundation/go-lachesis

GolangCI

https://golangci.com/r/github.com/Fantom-foundation/go-lachesis

Code Climate

https://codeclimate.com/github/Fantom-foundation/go-lachesis

Codacy

https://app.codacy.com/project/andrecronje/go-lachesis/dashboard

CII Best Practices

https://bestpractices.coreinfrastructure.org/en/projects/2409

And full Sonarcloud analysis

https://sonarcloud.io/dashboard?id=Fantom-foundation_go-lachesis

All of these give high level technical insight into the project, what has been happening, and the quality of what is being developed.

7. Optimum Network Research

We have continued to advance our research fields. We have developed our own zero knowledge circuits. Originally, the plan was to use Pinocchio, but we found their development insufficient for our requirements. This repo will be publicly released along with the 0.4.5-rc.1 version in December. This is the first implementation of the Fantom VM verified computing.

Based on the research here, https://vitalik.ca/general/2018/08/07/99_fault_tolerant.html, we have developed a new concept for network pruning in both private, consortium, and public blockchains. This system allows the ecosystem to remain in an optimum state while it does not tolerate faulty or byzantine nodes.

8. Lachesis Developer Accessibility

In order to make the lachesis protocol a new standard for distributed system, we have developed a series of easy to understand slides that will help educate and spread the information.

9. Clotho Selection Research

Further expanding on the lachesis consensus mechanism, we have achieved a new front-running clotho detection system. This allows us to identify clotho as soon as they appear instead of needing to wait for 2 frames before we can identify. This allows us to reach finality significantly faster than originally estimated. This development will be released along with a new paper.

10. Lachesis — Rust

Development on the rust based implementation for lachesis has reached its MVP stage (https://github.com/Fantom-foundation/lachesis-rs). From here, we can start running it against the golang implementation to start schema testing.

We are focusing on specification based engineering, all RFC’s are maintained here: https://github.com/Fantom-foundation/fantom-rfcs

A visualization of the Rust development can be seen here:

https://youtu.be/rANIaCHTALY

11. VM — Rust

The Rust implementation of the decoupled VM has reached MVP stage (https://github.com/Fantom-foundation/fantom-rust-vm). We are currently integrating the solution into go-lachesis consensus.

A visualization of the VM development can be seen here:

https://youtu.be/DQOSSjbVEuQ

12. Fantom Scan

GraphQL interfaces have been built that run separately to the nodes themselves. This way the nodes can store minimum amount of data without indexes, while the indexers save and store data. This also allows anyone to build their own interfaces/explorers in an easy fashion instead of needing their own node.

https://github.com/Fantom-foundation/fantomEventLoader

https://github.com/Fantom-foundation/fantomGraphQL

13. Hyperledger Caliper Integration & Testing

Hyperledger Caliper is a blockchain benchmark framework to measure performance of multiple blockchain solutions.

https://github.com/hyperledger/caliper

We have begun integration into the solution for lachesis as well to allow for standardized testing. This way, we are comparing apples with apples instead of simply claiming random statistics in a closed loop environment.

We recommend all other chains to adopt this standard of testing as well so that we can set a standard for benchmarking and testing that is accepted as a crypto community as a whole.

14. Go-lachesis

We have been focusing on quality and performance of the core codebase to ensure we hit a production ready system as early as Q1 next year. As can be seen from our PR’s there is a strong focus on quality, test coverage, and issue resolution.

A visualization of the go-lachesis development can be seen here:

https://youtu.be/dN2q5l8AZWY

15. Go-ethereum

We have decoupled Proof of Work from go-ethereum and coupled in lachesis consensus. This allows fully supported go-ethereum to run on lachesis consensus out of the box. Developers can use the tools that they are familiar with while enjoying the finality and speed of lachesis consensus.

https://github.com/Fantom-foundation/go-ethereum/tree/lachesis

16. Cardano ELE-vm

We have begun decoupling of the Cardano ELE-VM to support our lachesis consensus. This will allow for all the benefits of the ELE-VM over the traditional EVM (such as k-framework validation) while allowing for the performance of the lachesis consensus.

17. VM solo mode

To make development easier for new Dapp developers, we have created our VM with a solo mode consensus. This runs locally on your own machine and does not need to talk to the entire network. You can simply boot up the VM, create your genesis file, and start developing.

18. Fantom Pay Features

Fantom Pay trials start in Seoul soon, with public participation scheduled for early Q1 2019.

Items marked with * are still in development

  • Send / Receive Bitcoin
  • Send / Receive Ethereum
  • Send / Receive FTM (ERC20)
  • Send / Receive Fiat* (EUR, USD, GBP, JPY, CNY, HKD)
  • SEPA Transfer*
  • SWIFT Transfer*
  • Reporting*
  • KYC/AML* (For FIAT only)
  • Registration (email + password + pin + fingerprint / face)
  • Add Beneficiaries
  • Add accounts (BTC/ETH/FTM)
  • View transactions
  • Push payment notifications (Merchant trigger payment request)
  • Pay Merchant (transfers crypto into Fiat)

Below, registration / login / dashboard flow — accounts / transfer / payments can be found in the documents below.

19. Fantom Pay Public API

Fantom Pay public API’s have been made available

https://app.swaggerhub.com/apis-docs/fantom/fantom-wallet_api/1.0.0

Developers who want to accept payments directly in app or peer to peer can use the API’s to build their own notification systems.

20. Fantom Pay Merchant API

The merchant portal has been made available to select merchants to start their own acceptance testing. The merchants can accept payment in Fiat, FTM, BTC, or ETH with more currencies being supported soon.

https://app.swaggerhub.com/apis-docs/fantom/fantom-wallet_api/1.0.0

Both the consumer and the merchant select their own independent payment mechanism and Fantom will facilitates the conversion.

… And more to follow!

2019 is going to be a big year for Fantom. Make sure you keep a close watch on how Fantom is progressing in creating industry disrupting, innovative technology to bring blockchain into mainstream adoption.

Follow us!

Official E-mail Address: contact@fantom.foundation

Official Website: https://www.fantom.foundation

Official Telegram English Chat: https://t.me/fantom_english

Official Telegram Chinese Chat: https://t.me/fantom_chinese

Official Fantom Reddit: https://www.reddit.com/r/FantomFoundation/

Official Fantom Twitter: https://twitter.com/FantomFDN

Official Github Page: https://github.com/Fantom-foundation

Official Youtube Channel: https://www.youtube.com/c/fantomfoundation

--

--