Go-Lachesis Technical Accomplishments

Michael Chen
Nov 7 · 3 min read

By Michael Kong

Fantom is proud to announce the recent technical accomplishments made in our Golang implementation of Lachesis consensus — Go-Lachesis.

Much work has gone into launching an open-source, permission-less, and leaderless network with full smart contract support, each of those terms above mean the following:

  • Open source: The code is released under the MIT-License, meaning it can be freely used for commercial and non-commercial purposes. It’s development is also transparent, so anyone can audit the code themselves.
  • Permission-less: Anyone from anywhere can freely join and leave the network without breaking consensus
  • Leaderless: All validating nodes participate in consensus equally, based on the same rules. There are no “masternodes”. This is not delegated Proof of Stake, but leaderless Proof of Stake
  • Full smart contract support: With Go-lachesis, you can currently write, compile, deploy, and run smart contracts using the full Web3JS specification, just like how it works on Ethereum

Achievements

So far, the teams working on Go-Lachesis have achieved the following:

  • Full native Ethereum Virtual Machine integration (this will be switched over to our own virtual machine once it is ready: This allows developers to write, deploy, and run smart contract applications.
  • Full Web3JS API integration: The full Web3JS specification has been integrated, so all the calls can be used to communicate with the network and smart contracts, exactly like how you do it for Ethereum.
  • Lachesis Consensus: Our own consensus engine, Lachesis, has been completed and integrated into Go-Lachesis. Documentation on how it works can be found here.
  • Dynamic Participation: Validating nodes that freely join and leave the network, without breaking consensus, at any time. The network does not need to know the number of participants in advance to operate.

Running Demos

Instructions on how to deploy your own network can be found in the README. A network can be run locally on your own machine, or in a docker container.

There is also a video demonstrating a variety of Web3JS calls to the network, showing you how to deploy and run smart contracts.

What remains to be completed

A few tasks remain to be completed, they include the following:

  • Writing scripts to demonstrate network performance
  • Integrating Proof of Stake rules, including the distribution of rewards
  • Integrating a new indexing algorithm to make contract log searches much faster than in Ethereum
  • New and improved designs and implementations of desktop, mobile, and web-based wallets, along with a new explorer

The current schedule is for these tasks to be completed in December 2019. From there, Fantom will be able to launch Go-lachesis as its first mainnet with full smart contract support.


Official Links

Official Email Address: contact@fantom.foundation

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

Official Telegram Discussion Group (English): https://t.me/fantom_english

Official Telegram Announcements Channel: https://t.me/fantomfoundation

Official Subreddit: https://www.reddit.com/r/FantomFoundation/

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

Official Medium: https://medium.com/fantomfoundation

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

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

Michael Chen

Written by

Chief Marketing Officer @ Fantom Foundation — https://github.com/Fantom-Foundation

Fantom Foundation

Fantom is a consensus-as-a-service (CaaS) platform for distributed ledgers.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade