NEM Foundation Technology Department Update — September 2019
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: August 2019
August Tech Update
- Core devs released the third iteration of Catapult, codenamed Elephant. The update comes with delegated harvesting unlock features, NIS_SIGNATURE_SCHEME improvements, and adds a dynamic rental fees system for namespaces and mosaics.
- NEM Foundation is pushing forward contributions on Clients integrations like our experimental Desktop Wallet and Block/Network Explorer (Super Explorer Framework). Updates to those client applications are made daily, and release cycles are being worked on as to provide with more granular updates. The client applications have seen many contributions over the course of August and have reached an advanced Catapult integration state.
- Software Development Kits are working on the catch up needed after protocol changes related to the standardization working group recommendations.
- Catapult public chain release working group (WG) is making good progress on discussions and contributions. We are now actively planning and defining the migration of datasets. Updates to NIP8 are to be expected in September.
- Standardization working group (WG) has peer-reviewed the Catapult MongoDB Schemas, configuration parameters and statuserrors.
- NEM Foundation Testnet for Catapult is running Elephant milestone. We are currently inspecting the Elephant 3 feature set and will update our network accordingly. NEM Foundation has been collaborating with NEM Studios to provide with different types of environments working with the Catapult protocol.
The latest release introduces the implementation of a dynamic rental fees system for Namespaces and Mosaics on Catapult. This fee system leverages the same principle as introduced for transaction fees. In fact, when you rent a namespace on Catapult, the effective fee that is being paid for the rental period is going to differ depending on the networks’ median fee multiplierover a set period of time. Given that the fee multiplier can vary from one node to the other, fees paid for renting namespaces and mosaics will be varying.
Another added feature in this third iteration includes the ability to unlock delegated harvesting(enable) by ways of an encrypted message on-chain. This message will hold a specific amount of data that will enable end-users to send delegated harvesting requests to nodes on the network.
With this release, core devs also added some stability fixes for the diagnostics module and other fixes related to recommendations published by the standardization effort with regards to the catbuffer project. The latter has been split in two projects: catbuffer taking the responsibility about schema definition and catbuffer-generators taking the responsibility of source code generation for transaction serialization with Catapult.
Some of the latest ongoing work includes:
- Fix the namespaces list to display alias information
- Unify relative and absolute amount calculation
- Enable sending multiple mosaics in the same transfer
- Follow standard data validation practices
We have also been working on a network & block explorer project. During the month of August, we have been defining a new structure for the project, which is using Vue.
We are constantly working to improve our client integrations of Catapult. This includes ongoing work in Desktop Wallet, Block Explorer, nem2-cli, Catapult SDK for Java and nem2-scenarios. Our partners at NEM Studios have been helping keep up the speed with the catapult-rest project and Catapult SDK for TypeScript.
This project constellation is managed cross-entities with the help of Tech Bureau, NEM Studios, NEM Ventures and NEM Foundation.
Software Development Kits
With the Catapult Elephant 3 release, some breaking changes were introduced due to standardization recommendations. The SDK team is currently working on catching up with those as well as with newly introduced features in the protocol like dynamic rental fees or the delegated harvesting unlock mechanism.
Another topic that is actively being discussed with SDK teams is to provide a transaction fee recommended value. After comparing the network configuration with the latest activity, the client applications should display an estimate of the optimal fee to get a transaction confirmed in a reasonable time. The enhancements proposed also appertain to the new dynamic rental fee system introduced in Catapult Elephant 3 for namespaces rental fees and mosaics rental fees. You can find more details about the transactions fee system in the NEM Developer Center.
Peer review of MongoDB Schemas, Configuration and Status Errors
Multiple projects have been worked on over the course of the Catapult development project. The standardization working group aims to improve the consistency and quality of the Catapult technology source code. Different entities in the NEM Community and individuals participated in the revisions to ensure that the catapult project as a whole is reviewed before Release Candidate (RC).
The first planned effort had been peer-reviewing the consistency of catbuffer project source code. The analysis was done publicly during July, concluding in a series of recommendations that were applied to the serialization library. During August, the working group reviewed the catapult-serverMongoDB Schemas consistency. The outcome was a set of recommendations published here.
Additionally, at the end of August, a third standardization effort published recommendationsinvolving configuration parameters and status errors.
New to this initiative? Introduce yourself 👋 and read more about what we are trying to achieve here: Standardization Working Group
Working Group for Public Release Migration
The last week of August was pivotal for the upcoming network migration with some key discussions reaching consensus, several plans are now being worked on and validated to allow a concrete position to be communicated cohesively following that progress.
The working group has laid out a solution proposal for the migration of multi-signature accounts and namespaces which is being validated technically at present with various parties, it looks likely to involve user interaction due to a desire to retain crypto-graphic validity on chain.
Additionally, core devs have published the Catapult Elephant 3 release which brings us nearer to a Release Candidate than we ever were before, there is a variety of work required to update SDKs/API server, package it all into one candidate to begin testing which is now happening.
Experimental Testnet for Catapult
NEM Foundation Testnet for Catapult is running Elephant milestone. We are currently inspecting the Elephant 3 feature set and will update our network accordingly.
NEM Foundation has also been collaborating with NEM Studios to provide with different types of environments for working with the Catapult protocol.
The currently available test network is still experimental and reseted everytime there is a new milestone release.
August has been a month to focus on client applications, standardization efforts, and the upcoming public network migration of Catapult. The NEM Foundation Technology Department will be making progress on these topics, also during September.
As always, it was a pleasure to go through our NEM Foundation Technology Department monthly team efforts.