Welcome back to the NEM Foundation Technology Department Update! We are pleased to share with you some of the ongoing discussions and updates in the technology department team.
Contributions Period: November 2019
Add your opinion and feedback to our discussions.
November Tech Update
Core devs released a new version of Catapult, codenamed Fushicho 3, which is the second iteration of our release candidate version. The update comes with an update on nemesis epoch time and adds a maximum harvester balance in the network configuration.
NEM Foundation is moving the focus to public test network. We have executed a network reset and are planning on more tests during this month, some with regards to delegated harvesting and the split between node beneficiary and harvester block rewards share. Stay tuned!
The NEM Developer Center is constantly being updated to integrate the latest Catapult features. Find out what has been worked on by our Technical Writers.
The Block/Network Explorer (Super Explorer Framework) project has seen many contributions over the course of November and is now running on pair with the Public Testnet for Catapult.
The Desktop Wallet project has also seen many contributions and the team is currently working on stability fixes as well as planning the opening of a HackerOne program.
The Mobile Wallet project is moving along with its private beta implementation with fixes to QR Codes generation and hierarchical deterministic wallets generation.
The Faucet using the Public Testnet for Catapult lets you claim funds on our Public Testnet for Catapult.
Last but not least, the core devs have started writing the catapult whitepaper.
The Catapult Fushicho 3 release - which is the second release candidate for Catapult (RC2) - introduces an update to nemesis epoch time adjustments to make it configurable on a per-network basis.
This latest update comes with a breaking change when announcing transactions to the network because
Deadlines are now using a different nemesis timestamp.
Another notable change that dropped with this release is the fact that the network configuration now includes a
maxHarvesterBalance - a maximum harvester balance - configuration field, which can also vary with different networks.
Additionally, more stability fixes have been addressed with fixes to banning, also to accounts unlocked for delegated harvesting and multiple recovery process fixes.
With this release, more bugs have also been fixed with following closed GitHub Issues:
- Change maxCosignedAccountsPerAccount from uint8 to uint32: https://github.com/nemtech/catapult-server/issues/51
- Empty restrictions added to accountRestrictions collection: https://github.com/nemtech/catapult-server/issues/53
During the month of November, the core devs have started writing the catapult whitepaper.
Extract from the catapult whitepaper introduction:
[…] Trustless, high-performance, layered-architecture, blockchain-based DLT protocol - these are the first principles that influenced the development of Catapult. […]
This whitepaper lays out the details about features of Catapult such as Transaction Plugins, Extensions, Server / Broker / Recovery and many more. It also describes core principles such as applied cryptography, addresses derivation, the implementation of merkle patricia tree proofs and block generation to name just a few!
The contents are pre-draft quality and subject to change, but do not hesitate to submit your feedback using the issue tracker.
Public Testnet for Catapult
NEM Foundation Technology Department has been working on a Public Testnet for Catapult. This network introduces new features, including a block reward that is split between the node beneficiary and the harvester of the block.
In parallel to the Testnet, NEM Foundation members have been working on a beta version of client applications that can be used on the test network, as found in the following list:
- Desktop Wallet: https://github.com/nemfoundation/nem2-desktop-wallet/releases/v0.8.9
- CLI (Command Line Interface): https://github.com/nemtech/nem2-cli/releases/v0.15.1
- Block Explorer: Explorer for Public Testnet
- Faucet: Faucet for Public Testnet
With newly added configuration for inflation and ongoing tests related to block rewards, delegated harvesting and banning features, and the work done during November and early December, we are reaching a state of stability that should permit for the Public Testnet to launch officially.
NEM Developer Center
The NEM Developer Center is the place to learn about Catapult features. NEM Foundation Technology Department members are working on the documentation and technical guides for Catapult on a daily basis. During November, the site has received improvements on readability and navigability by simplifying its landing page and including some feature guides in the sidebar. Guides and documentation that have been added over the last month include:
- WebSockets reference
- How to subscribe to WebSockets channels
- Refactored guides to accept multiple tools (nem2-sdk, cli, wallet). Example
Command Line Interface & Software Development Kits
A new version of the Command Line Interface for Catapult is now available (nem2-cliv0.15.1) with the latest software development kit being used and a few bug fixes. Among the newly implemented functionalities, we highlight the possibility of preparing and signing transactions offline, without necessarily having to announce them to the network. The team is currently working on the encryption of profiles and secure storage for this client application.
These projects and their source code are managed under the NEMTech Community Project Management Committee.
Block Explorer Project Update
NEM Foundation members have been working on features add ons including:
- Added user interface standardization (Bootstrap-Vue)
- Working on network-wide node list components
- Added metadata resolution component
- … and many more stability fixes
The Block Explorer can now be used to monitor and read blockchain data in real-time. This client application auto-connect to our Public Testnet for Catapult!
As we speak, the team is working on feature addons for the Block Explorer to add missing data points such as mosaic restriction details.
Desktop Wallet Project Update
NEM Foundation members have been working on a beta version of the Desktop Wallet,which is catching up and currently being upgraded to Catapult Fushicho 3 milestone. The latest release for this client application - which you can find here - auto-connects to our Public Testnet for Catapult!
Some of the latest ongoing work includes:
- Stability fixes in signature process: https://github.com/nemfoundation/nem2-desktop-wallet/pull/677
- Review / Stability fixes with listeners: https://github.com/nemfoundation/nem2-desktop-wallet/pull/693
- Missing transaction unit tests: https://github.com/nemfoundation/nem2-desktop-wallet/issues/655
- Transaction confirmation bugs with alias as recipient: https://github.com/nemfoundation/nem2-desktop-wallet/issues/663
- Added UI: Network loading indicator: https://github.com/nemfoundation/nem2-desktop-wallet/issues/692
Mobile Wallet Project Update
NEM Foundation has been working with Hatio to provide with a Mobile Wallet application that is compatible with Android and iOS.
The mobile wallet project will provide with basic transactional and account managerial functionalities such as:
- Cross-client QR Codes generation compatible with the Desktop Wallet
- Compatibility with the Public Testnet for Catapult
- Added co-signature module for aggregate bonded (partial) transactions (multi-signature)
- Upgraded dependencies to latest nem2-sdk and using our public testnet
More features are being added to the mobile wallet as we speak. We are collaborating with Hatio and coordinating on a weekly basis to push forward this client application that will bring Catapult features onto your Mobile.
We are hoping that a public beta release can be published during this month!
Working Group for Public Release Migration
NEM Foundation has contributed to the migration committee discussions and process recommendations by executing tests for the recommended opt-in migration process.
Moreover, during the past month, the migration committee has released iterations of community updates that you can find on our Forum:
- Migration Committee Community Update 1
- Migration Committee Community Update 2
- Migration Committee Community Update 3
- Migration Committee Community Update 4
- Migration Committee Community Update 5
- Migration Committee Community Update 6
- Migration Committee Community Update 7
Closing 2019: NEM2 Advent Calendar Contributions
Thanks to the Japan community for running the NEM2 Advent Calendar on Qiita. Nembers of the NEM Foundation Technology Department have contributed with articles that you can find in the following list:
- Anthony Law (@AnthonyLaw): NEM Catapult common use in Multisig Account
- Grégory Saive (@gevs): Catapult: Disposable Smart Contracts
- Ivy Fung (@ivyfung8): Non-Fungible Assets on NEM
- Anthony Law with a second iteration!! Setup catapult harvesting node using Terraform
- David Garcia (@dgarcia360): Creating a serverless blockchain app with
Catapult and Netlify Functions
This will be the last update of the year 2019 for the NEM Foundation Technology Department. We will start fresh next year with a new setup for these updates !!!
From the whole team, we wish you a merry Christmas and a happy new year!
November has been a month to focus on stability, on setting up test networks, on progressing test efforts and on discussions and recommendations for the upcoming public network migration of Catapult. The NEM Foundation Technology Department will be giving updates on these topics, also during December.
Thank you for reading our NEM Foundation Technology Department monthly update.