One thing I think is very cool but I don’t think is used that much is view wallets. These are a way to let you see incoming transactions to your wallet, but you don’t have to store your private spend key to do so. What this means is that lets say you’re mining to your wallet, you can see how much you have accumulated, but if your PC gets stolen, or you get hacked, an attacker can’t steal your funds, they can just see how much sweet, sweet TurtleCoin you have :)

Tell us about the container format, does that allow someone to run more than one wallet address? What’s with the name?

The container format lets people have so called “subaddresses” inside one wallet file. This API isn’t exposed in Simplewallet, because it’s more aimed at a simple “one user one wallet” kind of thing, but this is very handy for service providers, such as Canti’s and Fexra’s upcoming web wallets. Because of the way the privacy code works, it takes a bit of a long time to scan wallets compared to something like Bitcoin, and these subaddresses allow a service provider to scan multiple wallets with pretty much the same speed as scanning one wallet.

What made you finally rewrite the wallet, was there a single piece that you didnt like much that made you say “right, time to scrap this and start over”?

Before Simplewallet was rewritten, it had a different file format to Walletd, which was a common cause of difficulty for new users. They’d make a wallet in a GUI, then go to open it in Simplewallet and it wouldn’t support that format. I think Rock said something like “Why not just use the same file format?”. I thought this would be a pretty quick fix, but the old Simplewallet code was pretty heavily coupled to the file format and API, and so swapping it out would have been a large ordeal. It seemed like a better idea to start from scratch, with some much easier to read and modify fresh code.

The old Simplewallet we had originally

I understand you’re currently looking for contributors to Simplewallet, as it’s somewhat of a gift to the community for everyone to work on. What would you like to see a new user start out with? Is there anything in mind that may be low hanging fruit out there for an aspiring contributor? What is something that you want developed that might be bigger than your capabilities that you need help with?

I’d like to see Simplewallet have a few more of the features that a standard CLI program might support, to be familiar and usable to shell users. Things I’m envisaging is support for shortcuts and symbolic links when you open wallets (e.g., Wallet file name: ~/.mywallet instead of /home/me/.mywallet ), and readline support (This is a commonly used GNU input library), so users can retrieve the previous command by hitting the up arrow, and move around their input, rather than have to trash the whole line if they make a mistype.

Tell us more about symbolic links, that might be a new one for a lot of our users.

A few users might have encountered these when they wanted to change the location of their TurtleCoin blockchain with a GUI wallet to another drive — it’s basically a special file which points to another file or folder — So perhaps your GUI goes to open up the blockchain in C:\username\appdata\TurtleCoin — and you pop a symbolic link there which means when something goes to open that file, it actually opens up D:\TurtleCoin. It’s just a nice feature that lets you can configure your PC exactly how you like.