Core Development Proposal 1425600


#1

Proposal Name: michael-dev-may
Owner: michael
Cost: 15250 BLOCK
Voting: Vote via the Proposal screen in the wallet

vote a1a3c9da3fcc2ea4d8e5ba4419706d8dae96f84f323aa7fe1f307915e5b066b4 yes

April recap
This month completed a working alpha version of the C++ XRouter library. This library allows C++ developers to query the XRouter network without having any blockchains installed locally.

Review C++ XRouter library progress in this branch:
https://github.com/blocknetdx/blocknet/commits/libxrouter

Other wallet updates include:

  • Stake to address option
  • Split balance rpc/cli command that allows consolidating and splitting wallet amounts
  • Fixed the service node tab filtering
  • Fixed stake rewards (full 1.0 BLOCK reward, no more network fee)

Review wallet fixes in 4.1.1 branch:
https://github.com/blocknetdx/blocknet/commits/4.1.1

Code sample to get started with C++ XRouter library:

#include <xrouter/xrouterclient.h>
#include <cstdlib>
#include <iostream>
int main(int argc, char* argv[]) {
    // Create and start the xrouter client
    xrouter::XRouterClient client(xrouter::XRouterClient::defaultOptions());
    if (!client.start()) {
        std::cout << "Failed to find service" << std::endl;
        std::exit(EXIT_FAILURE);
    }
    // Wait up to 10 seconds for the service to be found
    if (!client.waitForService(10000, "xr::BLOCK")) {
        std::cout << "Failed to find service" << std::endl;
        client.stop();
        std::exit(EXIT_FAILURE);
    }
    // Get the block count for the xr::BLOCK SPV service
    auto res = client.getBlockCount("BLOCK");
    std::cout << res.write(2) << std::endl;
    client.stop();
    std::exit(EXIT_SUCCESS);
}

April/May Development Overview
I am working to complete the beta version of the C++ XRouter library. I’m also working to finish the alpha version of the GoLang XRouter library. The GoLand XRouter library will allow ETH developers to integrate XRouter into their applications. I’m continuing to improve the Enterprise XRouter Proxy (EXR) and getting that ready for open beta, where community members can run and install EXR servers. Developers leveraging the XRouter libraries will only be able to connect to EXR capable service nodes, so we’ll need community snode operators to get involved with this when we’re ready to release the beta.

Current tasks

  • XRouter C++/GoLang libraries
  • XBridge persistent storage
  • Enterprise XRouter Proxy
  • Bug fixes and optimizations

Other tasks

  • Maintenance and bug fixes on Blocknet products (XBridge, XRouter, XCloud, Block DX)

Upcoming XRouter tasks:

  • Blocknet Name Service (XRouter DNS)