Fantom Technical Update — 3
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:
- Public Fantom 0.4.5-rc.1 that anyone can interact with (using go-evm)
- Faucet
- Web, mobile, and desktop wallets.
- Explorer
- go-evm implementation.
- 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
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:
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:
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:
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