MintCoin Development Update 2018-04-13

Happy Friday the 13th, MintCoin followers!

Hopefully none of us suffers from paraskevidekatriaphobia on this lovely Friday. Trust in the crypto; everything will turn out fine in the end.

We all breathed a minty-fresh sigh of relief this week as Cryptopia's MintCoin wallet finally finished syncing, so deposits and withdrawls with our biggest exchange once again became possible. It turns out that their wallet had become stuck for some reason, and they needed to re-sync. Their policy is not to use blockchain snapshots, so it took quite a while. But with some patience it all worked out - and we have a much better communication channel with Cryptopia for any future problems.

Code Changes

The focus of the work has been getting a new release out, but I decided to spend some time working on a couple of older issues that seemed like "low-hanging fruit"... that is, bugs or small improvements that would be relatively easy yet provide some nice changes. I also thought it might be nice to close some issues!

How Long Until I Can MINT!??!?!

The first set of changes were suggested by Zohaib via Telegram. The idea was to let the user know how long it would be until they would have coins that are 20 days old, and so available for minting again.

After noticing that the tooltip gives you an estimate of how long it will be until you mint a new coin after you have mature coins, it seemed like a pretty good idea to provide similar information for the coins that were not yet mature. So we let you know when the next coin will mature in the tool tip. Here's a screenshot:

Tooltip indicating time until a coin matures

To provide similar information to anyone using the daemon version, the listunspent command was updated to provide information about the transaction time for each coin that you have which can be minted. A user can then figure out when each coin will be mature. So it provides more information, but also requires a bit more work - exactly how it should be for the RPC interface.

The output looks something like this:

  "txid" : "6ebc4b46fc126dc40665ca8a2feac3765ff8aac5ddd454d7f23b88d4047945ce",
  "vout" : 2,
  "scriptPubKey" : "210361e4ae8e1204d435b4335a67c6ac0f4c45cd91d9019cfb6cf7090ab102a8e486ac",
  "amount" : 10028.96835600,
  "confirmations" : 15936,
  "txtime" : "2018-04-07T06:01:34Z",
  "txtimereceived" : "2018-04-07T06:01:38Z"
  "txid" : "729dac41dccc51a882c025b7c05463e79a9725916749f7a9871c3e747f7406d6",
  "vout" : 1,
  "scriptPubKey" : "21020022e9b5bd305fb466016f52122dd8009bc1542f4447ab8307fe574c4e349bbeac",
  "amount" : 65973.84000000,
  "confirmations" : 59726,
  "txtime" : "2018-03-22T21:57:41Z",
  "txtimereceived" : "2018-03-22T21:57:44Z"

You can see the txtime and txtimereceived values are present for every unspent coin.

Command-Line Paper Cuts

There were three "paper cuts" fixed; these are things that do not cause any major problem but are a bit annoying. These are really only to people running the code from a command line, but should have been fixed in any case.

  1. When starting the GUI wallet there were warnings about the RGP profile. This came from problems with the image files. Enlil fixed those issues.
  2. Also when starting the GUI wallet there were warnings about the Qt style sheet. There were a couple of bugs in the code which luckily only caused warnings.
  3. Finally, when starting the daemon from Linux, it would run in the background before announcing that it was starting, causing a somewhat untidy console output.

Release Status

We have a release plan for the next release, which we are imaginatively calling "2.1-beta1" for now. The Etherpad with the plan is here:

Since the last update, the continuous integration that MintCoin uses - Travis CI - has been extended. We now build the MintCoin wallet for:

  • Ubuntu 14.04 LTS (Trusty Tahr)
  • OS X 10.11 (El Capitan)
  • macOS 10.12 (Sierra)
  • macOS 10.13 (High Sierra)

We build the daemon wallet, including both a dynamially-linked and statically-linked version, and the GUI, Qt-based wallet for every system. (A build of the daemon is also built for OS X 10.10 (Yosemite), but Qt is no longer supported on it so no GUI version is available.)

You can always look at the current state of the Travis CI for MintCoin here:

We have two major things left to do before the beta:

  • Integrate the Windows builds into our Travis CI setup
    Right now we know how to cross-build for Windows, and we know how to use Travis CI, but we have not yet combined the two.

  • Export the results of the Travis CI build
    We are already compiling programs that we can run, but we just throw the results away. Since we have them, we just need to send them someplace more permanent.

Once all of this prepatory work is done, we will be able to make a release. The good news is that future releases will be able to ship much faster, since all of the infrastructure will generate all of the runnable wallet code with every change.

GitHub Repository Status

The official GitHub repository remains:

We closed one issue in the official repository:

We also closed some issues from my personal repository, which is where issues were recorded before we got access to the official repository:

No new issues were added!

Goal Recap

While the main focus is on the next release, there are also other goals, such as:

  • Speeding up the initial sync
  • Packages for popular distributions (like Debian and Fedora packages)
  • Wallet code automated testing
  • Reducing the memory footprint

I think we are all itching for even more exciting changes in MintCoin. This should all be possible once we get our house in order with some fixes to the old wallet.

As always, please contact us if you want to help, or just fork the code on GitHub and start hacking.

Until next time, I am...

Still Minting Along,
Shane Kerr

Our Social Networks