NEM Foundation Technology Department Update - September 2019

Hi Nembers!

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

Add your opinion and feedback to our discussions.

Credits for the Images go to @nembear, who posted it on Twitter with the #harvestale hashtag as seen here.

Summary

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 status_errors.

  • 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.

Protocol Updates

The Catapult Elephant 3 release is the third iteration of the elephant milestone.

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 multiplier over 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.

Client Integrations

NEM Foundation members have been working on a beta version of the Desktop Wallet which is compatible with Catapult Elephant milestone.

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.

Join our discussions on Slack and give us your feedback about client applications.

Software Development Kits

During the month of August, the TypeScript/JavaScript Software Development Kit has received an update. Latest version 0.13.1 includes transaction serialization using the catbuffer library which is important to speed up development and to have the same serialisation practices applied across different languages.

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.

Join our #sig-api discussions on Slack about Software Development Kits and let us know your thoughts!

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-server MongoDB Schemas consistency. The outcome was a set of recommendations published here.

Additionally, at the end of August, a third standardization effort published recommendations involving configuration parameters and status errors.

New to this initiative? Introduce yourself :wave: and read more about what we are trying to achieve here: Standardization Working Group

Join this initiative and work with us to improve Catapult.

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.

We want to hear your thoughts on this topic - Join our discussions on Slack!

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.

Participate in our #testnet discussions, we are happy for any feedback!

Conclusion

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.

We would love to read your feedback in the comments section below!

14 Likes

Awesome update! Your teams have certainly been very hard at work!

3 Likes

Good progress, keep it up. With the new Council, we are back on track.

1 Like

Thanks for the update. Great progress is being made.

That being said XEM price seems to be tanking for a while now. I think this is mainly due to the fact that there is some uncertainty regarding the migration process from NEM1 to NEM2. It doesn’t matter how much good new projects are being released on NEM, as long as there is uncertainty I think price will remain depressed.

I hope therefore that in the near future it will be clarified that at least for XEM hodlers there will be an easy migration process from the old chain to the new chain although I prefer to call it an updated chain and hope an easy and clear one-chain solution migration process model will be announced quickly. I understand that the migration process takes into account a lot of different aspects of the NEM project, but XEM migration should have priority right now, because once trust in a project is gone, it is unlikely to come back, especially with all of the new competition that’s out there.

1 Like

:ru: Russian translation is here:
:point_right: https://nemnews.io/tech-obnovlenie-nem-september-2019/

I understand your concerns.

I hope therefore that in the near future it will be clarified that at least for XEM hodlers there will be an easy migration process from the old chain to the new chain

We are working on communications and documentation for the matter as I write this. I feel sorry that we were not able to give more information in public before. The migration working group is having many discussions - the topic is overly complicated and I must ask you to bear with us.

As a matter of fact Alex shared some information yesterday. I will follow back on there.

Thank you for your feedback :+1:

3 Likes

Thanks Gevs, I wanted to say this for a long time, but somehow I forgot. I think you are doing a tremendous job being extremely productive and professional regarding the important things you are doing! Keep up the good work ! :slight_smile:

3 Likes