Safex Development Update - February 25, 2019

Wallet - Standalone (Safex Cash/Token only)
The wallet depends on a c++ library for dealing with the Blockchain, this we have found and corrected a significant bug. For each block call, it called the top block, which added a huge overhead and the electron application was not able to reliably download balances from the safexd node. Thanks to Marko jumping in, this is now fixed. The wallet is in the phase for release.

Uros spent the past week polishing the UI and UX, dealing with error cases and other improvements including adding a progress bar and the ability to change ring size.

Further efforts were in testing of the bug fix found in the c++ wallet auxiliary library, as well as the included features to the UX.

Safex Wiki
The Safex Wiki continued being update by Marko throughout the past week. With an update that further explains the difficulty calculation.

Safexd - Safex Node
Stefan had been focusing on completing the protobuf integration. The endpoint itself is finished, and further work went into adding a build system switch to enable/disable it. The other issue worked out was related to our cross-compile build system; so integration into MinGW, which is now finished (windows platform builds) and MacOS is underway, last week we acquired a macbook pro exclusively for testing MacOS builds.

This is now being wrapped up and is prepared for the Golang side of development to complete the endpoint for RPC communication between the new libraries and the existing safexd. The getTransaction endpoint is now 5x smaller in size which is going to save a ton of network load. Further research went into other places we can apply the protobuf paradigm to other elements of the safexd node software to further improve network messaging for upholding the blockchain.

Golang Libraries
In the past week we started working on the secure key store for the wallet library. Our aim is to build a cross platform implementation that is able to create and store keys on all relevant operating systems, including mobile devices; therefore, the past week has been focused on a best practices approach to store keys.

Additionally, Pavle spent time researching as part of the strategy to being able to store multiple keys independently. This is to allow a hot swap and inclusion of multiple private key sets in our wallet implementations, this is a very much needed feature for flexibility in UX design. Traditional approaches to cryptonote expects a user to only have one key set, and the wallet architectures in the past have been designed to accommodate that one key pair.

Furthermore, we have worked on expanding test coverage for existing code.

Proof Of Concepts Progress
As part of the proof of concepts strategy for the marketplace, in the past week there has been a significant progress in design specifications ready for implementation for:

  • token locking
  • fee calculation from a sale of an item
  • fee redistribution

Last week we released a fundraiser to expedite exchange listings. So far we have raised 0.5 BTC and 250,000 SAFEX in addition to 11,600 SFX and 13,000 SFT donations taking place on Discord. :clap: at least 100 of us should put $100 and we will get the first level of exchange listing. 200 of us will put it over the top. Please encourage each other to chip in whatever you can.

In the past week Uros were worked on optimizations for all resolutions, and it can now be previewed on all devices (mobile, tablet, laptop, desktop computer).

On behalf of the Safex Development Team


Wow a lot of new stuff developed in a week. Bravo @dandabek and the team! :clap::clap::clap::clap:
Thank you for being open and transparent. I belive in you! :prince::prince::prince::prince:




very nice! keep it going :slight_smile:




awesome update, keep them coming!

1 Like

Awesome. Thanks, @dandabek. I’d like to learn more about Protobuf. I’d love to learn more about why you guys went down that path.

Reading up on it, it makes a lot of sense. Seems a lot more efficient over older XML comms.

Are you trying to keep the blockchain’s overheads down to a minimum? I read a conversation on Discord that dug into that idea.

1 Like

The codebase inherited from the original CryptoNote and then Monero development teams contains a lot of archaic code and architecture decisions, as well as many short cuts; redundant data passes, and over strings in plain text, making it hard to parse between other libraries.

We can not enable more developers who are working in javascript land, golang, and other more popular languages than c++ without redefining some of the core aspects of the safexd codebase.

The key to a successful marketplace platform is an api that is easy to hook into by ecommerce developers… there is an ocean of them out there. We made a strong decision throughout December and a lot of conversation that this is the direction we need to go to be successful overall with handle bars to make a universal impact when we launch.


It makes a lot of sense. Did some research on GoLang over the past few days and although i’m not a huge programmer, i can see the benefits massively.

It’s interesting to hear that Monero’s codebase is full of legacy and archaic code. Kind of looks like a Jenga tower; it’s growing, but getting wobblier and wobblier with each addition.