Skip to content

Latest commit

 

History

History
211 lines (155 loc) · 9.19 KB

2018-03-01.md

File metadata and controls

211 lines (155 loc) · 9.19 KB

Mint Development Update 2018-03-01

Hello all!

Minty All Day gave us all a pleasant surprise by updating the web site, giving us a minty-fresh new look:

https://mintcoinofficial.com/

While we may miss the style of an early 2000's website, it should make newcomers a lot more comfortable getting involved with MintCoin.

In less happy news, this week we had to ban a user from the Telegram group who was attempting to represent himself as some sort of member of MintCoin governance and solicit donations. Sadly if MintCoin attracts more attention we will also get more scammers, more destructive personalities, and more general non-minty folks involved.

We also we had a bit of frustration in some corners of the Mint community about progress and direction of the coin. Please remember to relax and love each other. Everyone has their own ideas and their own perspective, and while not every suggestion makes sense, we should treat every person with respect and dignity.

On a related note, there have been a lot of people on the MintCoin Telegram group telling us what needs to be done for MintCoin. I try to gently remind them that MintCoin is a community coin, and if you want something done you should do it! Nobody working on the coin has super powers. You can do everything we can, I promise you. 😉

It was another good week for MintCoin prices, steadily increasing from 12 satoshi to an impressive peak of 17 satoshi - with a scary dip on Thursday that has mostly recovered. We cannot say for sure why the price rose, but the number of MintCoin users has increased greatly as has the trading volume. Perhaps everyone is excited by the technical work that is at last being done on the coin?

Speaking of the technical work, lets see what actually happened, shall we?

Many Hands Make Light the Work

We got a new contributor to the technical team, with Warren starting to look at some of the issues with the wallet.

Warren completed issue #12, which was looking at the code to find all of the places where we are using deprecated Windows functions. Luckily there is only one; fixing that is issue #21.

He also had a look at the behavior that the wallet uses to select which coins to send people. This was issue issue #7. The idea is that we should always use the newest coins when sending to someone else, so that the older ones stay in the wallet and can be minted. It looks like the wallet does the opposite; once we confirm this we will change the behavior to help you mint more effectively.

Finally, Warren did some research after noticing that the new Windows binary seems to use more CPU than the old one. More careful research showed that we actually use less, but it was good to check it. Certainly there were a lot of changes in the use of low-level OpenSSL functions which could have resulted in more CPU use.

I was also approached by someone who has design experience, who may be able to help us with the wallet. Unfortunately we are mostly concerned with more low-level problems in the wallet, but we will try to collect suggestions for later work.

We have not lost contact with the developers who may be able to do a security audit of the wallet code either. Currently they are too busy, but we hope that they have time in the future.

We Don't Speak Your Language (Yet)

The idea of translating the MintCoin wallet to other languages came up on the Telegram group. The wallet code seems to support translations, and may even have a Russian translation.

We'd like to verify that this code actually works, and then recruit people who are willing to perform translation into any language that they speak. There is an open issue for this, so if you have any experience with translation and software please contact us:

shane-kerr/Mintcoin-Desktop-Wallet#18

Raspberry Pi: Not Yet Ready for Prime Time

Last week we reported that MintCoin had been ported to ARM CPU's. This may work, but sadly the MintCoin wallet currently needs more memory than is available on all Raspberry Pi models. MintCoin takes slightly less than 2 GB when running now, but the Raspberry Pi only has 1 GB of RAM. While it is possible to use swap space for this - effectively using a SD card or USB drive as memory - that is very, very slow.

So you can use a different ARM device for minting. Anything with 4 GB will be fine, and anything with 2 GB will probably also work. You can also try to use a Raspberry Pi, but we have not had any success with that yet. A list of single-board computers can be found on the Wikipedia here:

https://en.wikipedia.org/wiki/Comparison_of_single-board_computers#CPU,_GPU,_memory

Maybe something there with enough memory will work for MintCoin.

Minting Speedup: Yet Another Bug Fix

Last week we reported a bug fix introduced by the minting speedup. It turns out there was another one. This one prevented the wallet from minting coins, which we had not noticed before because none of the development team actually had any coins older than 20 days yet.

This has been fixed, and your humble developer has been able to finally mint some fresh MintCoin. With €1,21 worth of MintCoin for several weeks of effort I cannot say that the work has paid well, but I look forward to being able to buy a MintCoin-funded beer in the near future.

As we noted last week, there are a few more important things to add than tests in the code now, but it will probably be top priority after our next release.

DNS Peer Discovery, or Getting Rid of the "addnode" Hack

The current wallet today starts with some ancient IP addresses and usually cannot find a wallet running there because it is no longer 2014. It does have a way to find addresses using the DNS... but all of the DNS servers that provided this information have long been shut down.

I went ahead and documented the method for running a DNS server that can be used to seed this information:

https://github.com/shane-kerr/MintCoin-DNS-lookup-server

In addition, a branch of the wallet using a new server set up using this tool was created:

https://github.com/shane-kerr/Mintcoin-Desktop-Wallet/tree/fix-dns-seeds

New wallets should be able to easily find other nodes and get started without any manual hacks!

As usual, this branch has been merged into the 2.0 branch on my development repository.

Note that if you run a server or two on the Internet that provides DNS and are willing to run it to help Mint users find each other, please contact me and we can add you to the wallet to help MintCoin work better.

GitHub Issue Update

No news on the issues or pull request on the official MintCoin GitHub repository, but a lot of activity on the unofficial side:

https://github.com/shane-kerr/Mintcoin-Desktop-Wallet/issues

This is in addition to the other issues mentioned already in this update, there are the following:

  • We want to know what the best instruction set is for the ARM port. There are at least 2 to choose from, and it will require measurement to know for sure.
  • We might be able to register the TCP port that MintCoin uses with the IANA. This would prevent other applications from using it, and also make MintCoin a bit more "official" as a protocol.
  • There is an issue to look at the errors that get reported when the Qt wallet starts (this is the normal GUI version). Probably these do not matter, but we want stuff to be clean - and it should be easy.
  • A user reported a problem on a high-resolution (HiDPI) system, and also found a possible fix for this in the Bitcoin issues.

Regular Goal Recap

Here's a look at where we stand on our goals.

The main focus now is still getting a new version of the wallet that we can publish which contains updated builds and all of the fixes that we can. In order for that to happen, we still need:

  • A macOS wallet build
  • A 64-bit Windows wallet build
  • Merging the changes upstream (or forking the repository)

Things that would be nice:

  • A continuous integration (CI) environment
  • 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

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

It has been a very minty week, and I hope that next week will be even more minty!

Yours in Mint, Shane Kerr

Copying

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.