Q2 2021 Update

Since our last update the past few months have seen a great deal of development and activity at DigitalNote. Covid-19 has played its part in delaying our delivery of some products. Hopefully, Q3 will be kinder to us.

Q2 Updates:

· XDN Developers refine Windows and Mac Build environments. This is a significant milestone for the future of development of XDN. The new build environments will make it extremely easy for new talent to help forge the future of DigitalNote’s portfolio of products. This will make XDN one of the most attractive projects for developers to work on. A special thanks to IamLupo and Duckie for running with this. The Mac, Windows and Linux compiles are a lot more streamlined and take less time to compile, improving productivity for our developers.

· Total Revamp of the XDN core software. Update to the latest versions of Bitcoin core and remove depreciated code to ensure that the software is even more robust than it is right now. See version 2.x.x released by the end of July 2021. For the technically inclined, read up more from the developers below.

· Wallet Improvements:

o Added Masternodes messages relay

o Changed Masternode winner decision logic

o Fixed random crashes related to secure messaging

o Fixed id generation of secure messaging

o Removed “Socks” proxy handling from source (not required)

o Fixed getrawtransaction json syntax

o Updated Nodes

o Fixed Mac based build issues and dependencies

o Updated win32 build process

o Fixed win32 related compile errors

o Minor Code Updates to support QT 5.15.1

o Dependancy updates to the latest releases

· Updated Media Pack with 2XDN and XDN logos. The latest 2XDN logos can be found on our GitHub.

· Journalist coverage: We have had a promising UK news site, Bitcourier cover an article on DigitalNote.

· New Partnerships: YieldFields.finance and BitBlocks.finance now give you the opportunity to farm XDN rewards. More developments on this front in Q3.

Roadmap Update from Q2:

· Payment Gateway — partnerships.

XDN was successfully integrated into a payment gateway CryptocurrenyCheckout.com that allows merchants to accept XDN as a payment on several popular shopping platforms. This is just the first step in the right direction. The next would be to get merchants to adopt XDN as a payment option in their shops.

· XDN yield Farming to earn 2XDN

This is still in the process of being worked out with our partners. Q3 will see this take shape.

· Advise on path forward If project is feasible raise funds for “Enhanced Messaging”

This is a significant task and we are still working on a prototype to see if it is feasible for us to do. We have an iOS and Android app in test mode that is proving to show promise. The design criteria are to make it an app that is as easy to use as WhatsApp and iMessage. We are still a long way from a commercial application, but could be a game changer for DigitalNote if this goes the way that we are hoping. We will share more information in July.

· Raise funds for legal fees & list on a US exchange Integrate with more applications in ERC-20 ecosystem.

We held a campaign to raise funds to list us on a top 5 exchange and whilst initial funds raised were encouraging, we did not meet the target required. After all donators were polled, we extended the deadline twice. We have refunded one donator and the rest have agreed to use the remaining funds to be used on Marketing DigitalNote at the appropriate time. Thanks to all of you that have contributed.

· Mobile wallets development (on top of web wallet APIs)

With the development of the Messaging App, we have held off on making this a standalone app and will look at the integration of this into the messaging app if appropriate.

Brought forward from Q3:

Some of the work we intended to do in Q3 has been done in Q2

Review the Masternode staking Model and review the Masternode staking algorithm have been worked into the next update that will be released in July and refined to reward Masternode holders more for retaining and investing in Masternodes. With the shift in focus, stakers will be encouraged to rather invest in Masternodes to earn better rewards or take advantage of farming and pools to stake wXDN in Q3. Masternodes will earn 150XDN per block and PoS/PoW will earn 100XDN per block. Using this method, there will be no increase in the emissions of XDN per block.

Q3 UPDATE:

We will see a mandatory update take place on the network to accommodate the numerous changes that have been made in the last 6 months. This was not originally planned and will be added to the roadmap. They may not appear as aesthetical differences to the wallets however there is a significant change in the backend of our technology.

Stay focused, stay strong, stay together!

All the best — The XDN Team


For the technically inclined — Details of the major changes included in update v2.0.0.0 (written by IamLupo)

Updated nearly all cpp and header files to improve compiling performance. Our project had a recursive header inclusion problem. By reducing the total includes inside a header file and splitting all classes in separate cpp and header files we could tackle this problem. Mainly the case is that if you create a header file class, the compiler doesn’t need all the information that was in the cpp file.

// Forward declare classes/structs
class OtherClass;

class MyClass {
OtherClass* a;
}

When class A is a pointer as variable in your class you don’t need to include “otherclass.h” inside the header file. Because the variable is a pointer. And if anything is a pointer, the compiler doesn’t need the “Otherclass” details because it knows the length is an address. This makes inside your cpp where you actually use this variable you need to include “otherclass.h” because at that point it needs the details of Otherclass.

Second case we tackle was the serialization problem that caused problems on all of the classes. This was been done based on macro’s and was a “dirty” way to include functionalities inside a class. This not only required that all classes required to include “serialize.h” but also that the functionality it injected were template functions. That had a significant impact on the compiling process. We totally removed these macros and patched all classes that serialized data.

Third case were the templates. Hooooo boi… yeah adding template functions with content inside a header file. In combination with header inclusions this caused a headache of its own. Compiling template functions is a complicated process for the compiler and takes many resources and processing. I manage to find a way to nicely define the template function structure in the class with the function content inside a separate cpp file. This allowed the process to be done only once and not every time it got included.

Fourth restructuring the compiling process. In the past, we used .pro and makefiles which were spread everywhere and all these scripts had different ways of handling the compiler and parameters. There was no order or austerity. I took all this information and started to classify what was really needed. I build a system that took all this information and made small modules out of it. Once done, this gave me possibility to compile the daemon and GUI wallet app using the same modules. This resulted in allowing complex compile optimalisations on Windows, Linux and Mac like Unity build and precompiled headers that speed up the compiling process by a factor of 2.5.

Fifth because we are working on a core module that needs structure, we also want to avoid cases like:

usingnamespacestd;
usingnamespace boost;

This not only makes our code bigger. But it also tells on the line exactly where the function coming from. This way there can’t be any obfuscation/confusion if the function was a std or boost lib case. A second effect of this change was that unity build was also functioning better because of this patch.

Bad:

usingnamespacestd;
swap(a, b);

Good:

std::swap(a, b);

Because of all these changes, we also managed to find less structured cases and isolate bugs. This process has uncovered a number of bugs that require a mandatory update. In addition, this cleaner code now has reduced compiler warnings.

If you are keen to get in and help with the development of DigitalNote, please contact the team on our Discord chat.

References:

History of DigitalNote: The Past, The Current, The Future

DigitalNote WebSite

DigitalNote’s Official Twitter Account

DigitalNote Community on Telegram

DigitalNote Community on Discord