Development Recap | April 2019

Skywire mainnet, the Coin Hour Bank, and BIP32 integration

With the closed beta for the Coin Hour Bank going live, Skywire mainnet nearing switchover, the hardware wallet launch approaching, ledger support imminent, and BIP32 support added to Skycoin core. April was full of exciting development updates, the best snapshots shown below. Full articles here:

Mainnet | Coin Hour Bank | Week 14 | Week 15 | Week 16 | Week 17

Skywire is an internet SDN protocol. SDN, simply put, pulls the network topology intelligence away from hardware and centralizes in into a software controller for the whole network. If you were looking for something online on this connection, the software controller would instantly know the fastest routing path to your destination. On the internet, you need to make 20 decisions in 20 places about how to get to a node. In Skywire, one place makes one decision and the 20 different nodes merely execute the request. Because the Skywire controller holds all of the network topology info, heavy-duty networking equipment becomes obsolete, paving the way for simple and cheap hardware that individuals can run from their own homes.

The integrity of Skywire’s network protocol was improved with the fixing of two bugs. The first bugfix was for a major bug that was corrupting ACK packages and causing applications to hang. The second was for an intermittent bug that affected transport creation. It would randomly create a second transport in addition to the one required and continue creating additional transports whenever the unnecessary transport was removed.

Development on Ledger this week has focused on integrating the interface for transaction signing with the actual signing of transactions, as well as some important refactoring to the UI that is improving convenience for users. Because we are approving outputs for transactions on a one-by-one basis to increase allowed inputs, the UI now dynamically switches to the SKY address and display number for currently approved outputs.

Put simply, the Coin Hour Bank is a system that allows you to deposit and transfer Coin Hours, the parallel Skycoin currency. Coin Hours are generated passively for holding Skycoins in your wallet. Version 1 of the Coin Hour Bank allows you to ‘deposit’ your Coin Hours by sending them from your desktop or mobile wallet to a new address in your Coin Hour Bank account. From there, you can send them to another user without cost. You can also view your balance, see your transaction history and initiate out-of-Bank withdrawals. This is an important milestone in the development of the Skycoin parallel currency.

To verify that random number requests are really generating random numbers, developers can now get entropy from the physical device (including GetRawEntropy and GetMixedEntropy) by building special firmware. We have also added an additional check that ensures the device will only load your wallet if it was manufactured by Skycoin Foundation (based on USB HID), eliminating the threat of imitation devices.

This week BIP 32 support was added to Skycoin’s cryptography libraries. This will enable compatibility with Ledger and other 3rd party wallets in the future. BIP 32 is a common standard to implement hierarchical, deterministic wallets.

A lot of work has gone into Coin Hour Bank since the last update, from introducing a new design to implementing and fixing the first version of withdrawal. User actions will now generate email notifications, and we have adjusted the transaction trigger to fit the new structure.

During April the Skycoin team pushed through a massive 975 commits (790 last month) completed by 31 developers! This places us at number 8 for the month on coincodecap.com, based on development across ALL blockchain projects.

Commit Leader Board:

Although commits don’t accurately measure the amount of work each developer puts in, I thought it’d be fun and informative to put together a running monthly ‘leader board’ based on commits. This is also an opportunity for you, the Skyfleet, to get your name in lights!

It should be noted that lot’s of work is still done in private repos, this work is not detailed below.

stdevAIDen | 139

therealssj | 108

Victor | 93

Olemis | 81

amherag | 65

stdevPavelmc | 53

Erich Kastner | 51

gz-c | 42

ayeryshev | 31

stdevMac | 29

Haroon | 28

stdevStark | 27

evanlinjin | 24

Retsediv | 23

nkryuchkov | 23

ivcosla | 15

jaggedsoft | 15

Senyoret1 | 14

jdknives | 13

atang152 | 13

Roman Milishchuk | 12

IvanPayn | 11

mungujn | 6

BigOokie | 6

ingwal | 6

mahnsky | 2

asahi3g | 2

berlirumapea | 2

Asgaror | 1

corpusc | 1

stdevlvr | 1

I’m changing this section a bit from last month, instead of listing off all the repos (which can get tedious and boring). Instead, I’ll just show the top 5 most active repos for the month with last months activity as a comparison.

211 commits to all branches. (105 Last month)

129 commits to all branches. (95 Last month)

109 commits to all branches. (107 Last month)

92 commits to all branches. (77 Last month)

73 commits to all branches. (36 Last month)

Over the last month Skycoin had a strong focus on documentation, cleaning up blog posts and creating new content. This is evident by the blog being the most active repo for the month. (well done Victor and Haroon for all the hard work there) The hardware wallet, Skywire and CX activity should come as no surprise by now.