RightMesh Technical Update: Feb 15, 2019

Our latest technical update on our pilot projects, testing, and focus.

RightMesh
RightMesh
4 min readFeb 15, 2019

--

RIghtMesh Tech Team Current Focus: Testing at scale and under load

The RightMesh tech team has been continuing our forward progress, and we’re now focused on testing the networking platform at scale prior to making the initial release available to third party developers. Below is a high-level summary of what we’ve been doing and where we are at.

eNuk Project

In order to ensure a positive user experience and a stable, robust platform for developers, we need to get the requirements right and test for those requirements at scale. The eNuk pilot in Rigolet Canada was, of course, our first external pilot and we are continuing to develop and expand the project with the $2.13M research grant we received at the end of 2018. We have hired 3 new graduate student interns to work on the project, and our CTO Jason Ernst and Mesh Engineering lead Frazer Seymour are returning to Rigolet soon to conduct field testing and to perform density and throughput measurements which will be used towards research publications and which will help inform further development of the RightMesh protocol. The eNuk requirements are already baked in to our test plan, and now we are analyzing which of the hundreds of possible use cases to prioritize next.

UNICEF Funded Project

Our Bangladesh-based partner, W3 Engineers, is the first to develop apps powered by RightMesh mobile mesh networking technology. They will be using our protocol and platform to build and operate an open source mesh messaging app to improve the lives of those living in refugee camps and have recently received an equity-free investment from the UNICEF Innovation Fund to support the project.

The project defines the requirements and constraints we’re focusing on validating in our current testing which is tens of thousands of mesh nodes, so it’s three orders of magnitude larger than eNuk with many orders of magnitude more network traffic. Once we are satisfied that the platform is robust at those scales, we’ll have confidence in its release to developers for similar use cases.

Identification of New Use Cases

With many possible apps and use cases identified, much effort has been expended prioritizing use cases for testing, to ensure the platform is suitable for each use case (number of nodes, hops, neighbours, Superpeers, content type and average content length, packet throughput, etc). As you can imagine, a “find my kid” app has very different expected end-to-end topology, content and throughput requirements than a rural barter-economy “I have/I need” app.

Multiple Levels of Testing

Of course the devil is in the details, so when we speak of testing at scale, we don’t mean just executing the normal-case execution branches but also forcing all exception cases and that pulls in all kinds of requirements for inspecting and manipulating the runtime state of the Implementation Under Test at runtime using programmable test harnesses, including:

  • forcing system calls to fail
  • forcing checksums to appear invalid
  • simulating packets being lost or corrupted
  • etc.

Our goal is to continue until we’ve achieved 100% branch coverage of the entire platform and accumulated many years worth of accelerated burn-in time, before we declare it ready for prime time. Our test process follows that of telecoms HA system testing and involves, among other tests:

  • unit tests
  • integration tests
  • regression tests
  • stress tests
  • release tests,
  • builds with asserts both enabled and disabled
  • builds with instrumentation both enabled and disabled
  • builds with optimizations both enabled and disabled
  • quantitative performance analysis under varying topologies and conditions

The outcome of all this effort will be a robust and stable core platform upon which we can continue to layer additional functionality and which third party developers can reliably use to build apps that we have maybe not even imagined!

Soft Mainnet Launch

We are continuing to move towards the Soft Mainnet Launch during which select operators and users can participate in the RightMesh network; however, data packets will use testnet tokens rather than risking tokens on the mainnet. This will allow us the opportunity to test and trial the platform and protocol and to gain valuable community feedback for planning the network before public launch.

We have realized that our initial incentivization plan for participation in the launch — rewards of RMESH — may not be viable with the current valuation of our tokens and the state of the cryptocurrency market as a whole. We are reviewing this internally and will update our community as we come to a resolution on the timeframe and incentivization. What will emerge from these internal discussions is a delayed launch but a more viable incentivization plan to ensure maximum participation and rewards.

Next Steps

With regard to launch timing, we have defined the software quality criteria that we are committed to meeting before declaring the software ready for field deployment, and we’ve identified the use cases that the platform will meet at launch. We’re focused now on achieving those metrics with our current focus on comprehensive system testing at-scale.

The tech team will continue working heads-down on these initiatives and more. We look forward to updating you again in six weeks.

What you can do

  • Register for updates here to ensure you are kept in the loop of our Soft Mainnet Launch developments.
  • Join us on RocketChat — you can get clarifications, share your own use case ideas with us, and get involved in conversations with other community members.

Stay in touch:

--

--

RightMesh
RightMesh

Join us in changing the way the world connects with a decentralized mobile mesh network. https://goo.gl/4avMW5