Meros Development Update, April 2021

Welcome to the April 2021 Meros Development Update. Meros and Smart Reach release a monthly State of the Project video covering Meros’s development agenda, milestones, and GitHub activity. From this month forward, we’ll be providing short summary articles as an accompaniment to each video release.

Features posing as issues

Anyone delving into the Meros GitHub may notice that many of the issues cover future development tasks rather than describing existing code issues. These are presently being used similarly to post-it note reminders for yet to be implemented features. Kayaba, lead developer of Meros, has provided full protocol documentation, including these missing features. That said, this is an easy way to stay organized and let those curious about future plans see what’s to come, as well as give developers the ability to add additional notes to each task.

RPC update

The RPC updates Kayaba has been working on have proven significantly more time consuming than anticipated. That said, these upgrades and optimizations are pivotal for things like exchange listings, so they aren’t something that can be rushed or sloppily handled. The State of the Project video also goes into further detail on what an RPC is and why they’re important for exchanges and services, for anyone who wants to learn more.

Panics and panic swallowing

A panic is a state the code enters when unable to resolve an unexpected situation; one which should be impossible. The code forces the node to shutdown, reverting to the last block rather than operate in an ‘impossible’ state. This has potential to be used as a denial of service attack, so it is very important to manage. Panic swallowing is when a panic, which should shutdown the node, is ‘swallowed’ and ignored. Thankfully, the one documented instance of this is a false positive; something which shouldn’t be a panic anyways. Though the false positive panic is itself harmless, the code ignoring the panic is a concern that needs to be addressed.

Private key handling

GitHub issue #294 talks about zeroing private keys. This means that once a private key is finished being used, it is overwritten by zeros in memory. This is done so anyone with access to the computer’s memory can’t read it after it’s being used, which already requires an enormous amount of access. Though a highly unlikely scenario, this zeroing out prevents anyone with such access from being able to steal funds, and is extra security which can be added.

Meros Development Fund implementation and launch

The Meros Development Fund (MDF) is a decentralized solution for funding developers, and contributors in general, to Meros. It represents a significant portion of the supply, meaning it’ll require thorough testing, as does all of the codebase to ensure financial security. This will likely be the last part integrated into Meros due to its scope and relative isolation from the rest of the protocol.

Hash Sync Test by Vyryn

Vyryn, a first time contributor, committed a “hash sync” test on GitHub. It actually tests syncing the hashes of what blocks exist when first connecting to the Meros network. It’s a needed test, and we are very thankful to have it. The conversation evolved to cover first time contributors in general, and an open invitation exists. All developers, particularly those familiar with Nim and/or Python are encouraged to step up and contribute to Meros if they wish to, and should discuss doing so with Kayaba. He’s also actively looking for a Python developer as part of a paid position.

Mining and acquiring Meros at launch

CPU mining will be quite feasible to many machines early on. How much can be mined depends on three things: what computer you have, how long you’re willing to mine for, and how many other people are mining in competition with you. Gaming PCs are expected to be competitive for a long time, and a VPS can be rented for those who don’t have one (though not all providers will support mining).

There will also inevitably be OTC trading early on. This will be quite useful before exchanges adopt Meros. The community has already brought up reputable OTC services, which will supplement the fact no exchanges are planned to support Meros at launch.

Any date for the final testnet?

Kayaba does not yet have a date in mind for the final testnet to take place. More information on the next testnet and how to get involved will be shared as preparations are completed.

Closing words

This was meant to be a succinct summary covering the broad strokes of the State of the Project podcast. We highly recommend you check the video in its entirety for further information if you have the time, as it goes much more in depth with longer explanations.

Meros will work to provide State of the Project summary articles like this one, along with YouTube video timestamps for topics, in the future to better serve those of you curious about Meros development yet perhaps lacking the time to tune in for the entire video. We welcome any questions or suggestions through Discord or Twitter.