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:

https://public.etherpad-mozilla.org/p/MintCoin-2.1-release-planning

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:

https://travis-ci.org/MintcoinCommunity/Mintcoin-Desktop-Wallet

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:

https://github.com/MintcoinCommunity/Mintcoin-Desktop-Wallet

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

MintCoin Development Update 2018-04-06

A Minty Day, everyone!

Spring is in the air in temperate parts of the northern hemisphere. Just like all of plants trying to push their green buds out, the MintCoin developers are also trying to push something out - in our case a release of a fresh, green MintCoin wallet.

Code Changes

All of the code changes since our last update have been related to getting the wallet to build on various platforms.

Can We Build It? Yes We Can!

Since the last update we managed to get the Windows cross-compile working... kind-of. We have a working 32-bit version of the daemon and the Qt GUI version. The 64-bit version is not working for reasons unknown; whether we need this before the release or not is not yet decided.

Enlil and I also managed to get the macOS version of the wallet built, for both the daemon and the Qt GUI version. This required a bit of infrastructure magic on Enlil's part to get a machine that we can actually use to build and test it, and I am very happy with the results.

Travis CI: More. Better. Lazier.

As mentioned in the 2018-03-12 Mint Development Update, we are using Travis CI to make sure that changes to the code compile properly.

Now that we have the macOS build working, I have extended the Travis CI builds to also check macOS as well as the Ubuntu Linux system that we started with. In the near future we should be able to also use this system for making sure that our Windows builds work too, and possibly even our ARM version.

Since Travis CI is doing all the work of building the systems, we will try to use it to actually produce the executable code that we will ship in future releases. Having such a system in place can mean that we should be able to make these future releases much more quickly and reliably - that's what CI (continuous integration) is about, after all.

GitHub Repository Status

The official GitHub repository remains:

https://github.com/MintcoinCommunity/Mintcoin-Desktop-Wallet

We added three new issues:

  • Qt wallet is unresponsive when syncing
    On my development virtual machine, I notice that the user interface is basically broken when syncing the wallet. It takes ages to respond. I do not see this behavior on my laptop. Anyway, I added this issue as it should be investigated further.

  • Find and remove unused methods
    While getting the macOS build to work, we had to remove a broken method, which was unused. It occurs to me that there may be a lot of such methods, and we should delete them. This is a good ticket for someone who wants a kind of cleanup/janitorial ticket.

  • mintcoind error kernel.cpp:422
    A user has reported a bug! This is good because it may let us fix it. However, in this case we need more details. If you've seen a similar issue please feel free to add more data. Also, hoyanf, if you're out there, please get back to us.

Goal Recap

Our previous goals were always builds. Those are for the most part working! So now our immediate goal is:

  • Release a new MintCoin wallet

The current release is over 2 years old, so this is not a small thing. We have a plan of sorts that we are updating as we figure out the details. If you want to have a look you can check it out here:

https://public.etherpad-mozilla.org/p/MintCoin-2.1-release-planning

WARNING: This Etherpad is very much a work in progress, meant as a tool for people making the release. However, if you have suggestions or want to help then as always we really appreciate it.

Eagle-eyed readers of that document may notice that we're going to be PGP signing this and future releases. If you use PGP and are willing to sign the MintCoin release key, please contact me.

Our list of things that would be nice remains:

  • Speeding up the initial sync
  • Packages for popular distributions (like Debian and Fedora packages)

We will be including a snapshot of the blockchain in an optional version of the release, which should help with the initial sync.

And our list of things that should be done someday also remains:

  • Wallet code automated testing
  • Reducing the memory footprint

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

Until next time, as always, I am...

Mintily Yours,
Shane Kerr

Mint Development Update 2018-03-30

Hello again, followers of MintCoin!

As explained in the last update, I was away for a while, and did not have much time for Mintcoin. So this will be a light update, but hopefully still interesting.

In spite of there being not much development activity, there has been a lot of other activity in the MintCoin world.

One thing that everybody reading this will surely know is that the crypto currency market has been crashing pretty hard. The current market cap as reported by CoinMarketCap is just over 250 billion US dollars, which is about one third of the heady heights of early January 2018. MintCoin itself has also gone down in value quite a bit, also about one third of its recent value versus Bitcoin. Rumors abound about pump and dump schemes, whales manipulating the prices, and so on. We all hope that the underlying utility of crypto currencies and MintCoin in particular will turn this around.

Another non-development activity is nearly non-stop drama that has occurred in the MintCoinOfficial Telegram group. Various individuals and groups have spent a lot of time and energy being upset with each other. It certainly did not feel very minty for several weeks. Things have been quieter for the last few days, so hopefully we have passed through the storm of community unrest... and are not just in the eye of the hurricane.

That's more than enough doom and gloom for one update though. Lets talk about the recent technical developments!

Code Changes

We've only had two changes merged since the last update:

  1. ARM build support has been merged into the main repository
    While you need an ARM machine with 2 GB or more of RAM to run the wallet right now, it is possible and "officially" supported now, right out of the main source.

  2. Error fix from static code analysis
    I ran cppcheck against the MintCoin wallet source. This is a type of program that looks at source code and searches for common errors. It only found one possibly serious error, which has been fixed. A lot of warnings were found, which should be fixed, but these are less critical and have a lower priority.

Telegram Access to MintCoin Wallet

Our ever-productive Enlil has been working on a way to access your MintCoin wallet from a mobile device, and has built a Telegram bot that you can link up to your wallet. We are excited to see this kind of innovation, and look forward to seeing where it goes in the future.

Source code, and an explaination of how it works, is available here:

https://github.com/nexus166/walletbotd

GitHub Repository Status

The official GitHub repository remains:

https://github.com/MintcoinCommunity/Mintcoin-Desktop-Wallet

We added one new issue:

  • Investigate reproducible builds of the wallet
    Something we will want to look at in the future is a way that we can make sure that the code that you run can be verified to be correct. This will prevent unscrupulous individuals from trying to get you to run a trojan program which may steal your precious MintCoins or worse!

Goal Recap

Our main goals now are still:

  • A 64-bit Windows wallet build
  • A macOS wallet build

We have actually made progress on the 64-bit Windows wallet, now being able to easily build both a 32-bit and 64-bit command-line Windows wallet from Linux. The graphical Qt wallet is still not quite there, but should not be too much longer before it is ready for testing.

On the macOS side, Enlil has found a way to run a macOS virtual machine without requiring an Apple computer. With that in place, we should be able to get a macOS wallet built, hopefully over the weekend but if not then surely early next week.

Our list of things that would be nice remains:

  • Speeding up the initial sync
  • Packages for popular distributions (like Debian and Fedora packages)

And our list of things that should be done someday also remains:

  • Wallet code automated testing
  • Reducing the memory footprint

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

Have a Minty Easter

If you live in a place that celebrates Easter, then have a great Easter weekend! If you don't then have a great weekend anyway. It may be the only time you can safely eat mint-colored eggs, so savor the special time of year.

Mint in peace and love,
Shane Kerr

 

Greetings MintCoin Fans,

This update covers a short period of time, because I returned home on Sunday and will be leaving again tomorrow (Friday) afternoon.

There has been a lot of excitement in the MintCoinOfficial Telegram group, with the community moving forward with a draft white paperroadmap, and even a brand new web site. From the development point of view probably the most interesting part of this are the ideas around ways to decide on community priorities and provide funds to develop them, which is in the roadmap.

There was also a lot of negativity in the group. We're all minting together folks; please be kind.

Developers, Developers, Developers, Developers

Developers from Bitify have said that after the exchange goes live on 2018-04-01 there will be time to work on MintCoin development. One developer has a lot of experience and actually built a coin in the past, so this is really something to look forward to! (Okay, some people may be more interested to learn of a new exchange carrying MintCoin, but the development help is what excites us technical people.)

In addition we have an enthusiastic developer named victornor who is interested in looking at lightweight wallet development. He's just getting started, but is not afraid to jump in and try stuff out.

GitHub Repository Status

The official GitHub repository is:

https://github.com/MintcoinCommunity/Mintcoin-Desktop-Wallet

No new issues were added in the few days since the last update.

However, all fixes to the wallet from my personal repository have been merged upstream, except for the ARM CPU build. At this point, the code is ready for a new wallet release, once we figure out how to do Windows and macOS builds.

Goal Recap

In the short time since our last update, our goals have not changed. We need:

  • A macOS wallet build
  • A 64-bit Windows wallet build

As with last week, we may be able to get an Apple machine lent for the purpose of building, or we may rent a macOS Virtual Private Server (VPS) for this.

Things that would be nice:

  • Speeding up the initial sync
  • Packages for popular distributions (like Debian and Fedora packages)

Things that should be done someday:

  • Wallet code automated testing
  • Reducing the memory footprint

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

I'll be traveling for all of next week, so I will skip the next development update. Look forward to one around the end of March, when hopefully we will be talking about the new wallet release.

Until then, Shane Kerr

Page 2 of 2

Our Social Networks