Technical Update 20
Fantom has continued to develop additional functionality and security to the network; for example, by extending our work to make Lachesis ABCI-compatible. This will allow Lachesis to have Tendermint-like functionality with the ability to plug into different services, thereby offering Lachesis as Consensus-as-a-service.
Go-Lachesis
- Upgraded nodes in public testnet to v0.6.0-rc.2.
- Expanded app.blockContext to call App.DeliverTxs() on each transaction separately: https://github.com/Fantom-foundation/go-lachesis/pull/456
- Removed the dependency of evmcore.NewStateProcessor() on stateReader from gossip: https://github.com/Fantom-foundation/go-lachesis/pull/470
- Completed the first stage of performance tweaking in preparation of launching a test environment to measure performance. The test environment will consist of the following modifications:
R1: Users can submit transactions into any node’s transaction pool.
R2: A node can pick txns from its own pool and generate new event block.
R3: A node can send its own event block to any peer node of the network.
R4: Removed the restrictions of event emission rate.
R7: Disabled the fork mechanics.
R9: Removed free gas parents (we won’t need gas and fees in a testing environment, as we are measuring tx performance).
All changes are merged to develop — https://github.com/Fantom-foundation/lachesis-ex/tree/develop.
- Implemented logic to check the node for latest Lachesis version: https://github.com/Fantom-foundation/go-lachesis/pull/471
- Improved test coverage to 82.5% for go-lachesis/ethapi package: https://github.com/Fantom-foundation/go-lachesis/pull/455
- Created new Private txpool:
Added new functionality to the existing evmcore. TxPool is a sheet, which has marks that this transaction is private. We need to not send marked transactions to gossip.ProtocolManager
Duplicated all methods of sending transactions by methods with the addition of this mark (ethapi and the console)
Make sure that emitter receives private transactions without timeout
https://github.com/Fantom-foundation/go-lachesis/pull/472
- Upgraded the public testnet (with 3 nodes) to v0.6.0-rc2 from v0.6.0-rc1, and upgraded the SFC as well
New Fantom Wallet
Our new official Fantom Wallet, which we’re building as a Progressive Web Application (PWA), is nearing completion. It will have built-in Ledger support. The application with be downloadable as a desktop or mobile wallet, and will also be available as a web wallet.
The repositories related to the PWA wallet are:
- fantom-api-graphql: https://github.com/Fantom-foundation/fantom-api-graphql
- Fantom_LedgerJS: https://github.com/Fantom-foundation/Fantom_LedgerJS
- fantom-metamask: https://github.com/Fantom-foundation/fantom-metamask
- fantom-ui: https://github.com/Fantom-foundation/fantom-ui
- Removed dependency on Web3js provider and default connection to Val1 full node, which should remove a bottleneck causing wallets to lag in times of high load: https://github.com/Fantom-foundation/fantom-metamask/commit/bc990d1ae9b143f710ec0c351f9b43ec09372e9
- Created new UI connected to Metamask and GraphQL, with commits such as the following:
- Modified GraphQL API to be compatible with new PWA wallet:
- Completed Ledger App development. Currently in the process of connecting it to the PWA wallet.
Research
- Produced technical research paper on implementing governance contract as the owner of SFC, where Fantom token holders and validators can vote on changes to the SFC (details to be made public in time)
- Began development of general principals related to governance voting: https://github.com/devintegral4/fantom-sfc/tree/governance
- Published paper on arXiv “OV: Validity-based Optimistic Smart Contracts”; describes a programming language that may allow for the execution of smart contracts with increased speed and security: https://arxiv.org/abs/2004.04338
Official Links for Fantom
Official Email Address: contact@fantom.foundation
Official Website Link: https://www.fantom.foundation
Official Discord Discussion Group: https://discord.gg/6V42Gs8
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