Happy Friday!!
Before I get to this week's product updates, I want to mention one of the reasons why I realized that I am Agorist. I really don't think that it matters much which country you live in, but if you look into the Federal code for your country, and your local municipals obey what your Federales dictate, then in essence, you are literally a product of that country, and they own you. Yes, they actually own you, as if you were their pet hamster or something.
"United States" (for example) is defined as a Federal Corporation (28 US Code § 3002 sect 15A). When your parents held up their hand and pledged their allegiance to the flag, they just became the actual property of that government. Then, their children, and children's children etc are all offspring products of the first product, automatically owned by the same Corporation. This is also why you must have permission to leave (a Passport). They literally own you.
Soooo, let's use counter-economics to render their hegemony obsolete!
Stealth - Tons of work done this week on the Stealth automated backups! Backup schemes in C-IPFS must be done perfectly so that even across different types of IPFS nodes (go-ipfs, js-ipfs, etc) the synchronization is seamless, no matter what device is running our software. Nodeio was close, but did not quite cut it so we chose bitswap instead and are making a few tweaks to it this week so that it works perfectly with Stealth backups (automated or not). We are tweaking the protocol to enable filesystem synchronization across the differing networks (kinda like side-chains imo).
So we began writing the Bitswap protocol directly into C-IPFS and this should be done and fully tested in less than 2 weeks. We are also aiming for 33-50% code commenting too so that once we are ready to doxygen the documentation, then we can have experienced coders from all over the world using our software on their various devices as well (I will reveal more about this massive project in the coming weeks).
General code maintenance:
https://github.com/kenCode-de/c-libp2p/commit/73fcecfdcf1cde170fba90499b953b1dd0fc04ee
https://github.com/kenCode-de/c-libp2p/commit/3b52948b3b14a80b408e5656e1fdfdb749ac0167
https://github.com/kenCode-de/c-libp2p/commit/8bf4e3cf075c117cad0a9da4e3f954b150fb019e
https://github.com/kenCode-de/c-libp2p/commit/e2d63e029cabdafaf6bb5a8c1206cbf373d3a09b
https://github.com/kenCode-de/c-libp2p/commit/ffd27eb0622d9947e8d58bac7f05524b21a56ddf
https://github.com/kenCode-de/c-libp2p/commit/dfb1aba247e7aac62981553e9d16d12472074060
https://github.com/kenCode-de/c-libp2p/commit/2f8057e4b855defd76c270c43ed7c78fc418069c
https://github.com/kenCode-de/c-ipfs/commit/069379acf4f49a3ee5036448f33c3afe0832f3d7
https://github.com/kenCode-de/c-ipfs/commit/cb05b249ba0eea3c7f0ef5e554721ccf607459ee
The Bitswap protocol:
https://github.com/kenCode-de/c-ipfs/commit/d038b5d6f73f10743562b9e6ffb0cbd5d7034695
https://github.com/kenCode-de/c-ipfs/commit/250b88601a0c307a357ae830b2939d8a1411d85a
https://github.com/kenCode-de/c-ipfs/commit/6e19c14bab4d97db85c8452a13cede4eea7b5899
https://github.com/kenCode-de/c-ipfs/commit/1fe5be1c5c91a5a534324a6e8a9107a872d9a3ae
https://github.com/kenCode-de/c-ipfs/commit/2232d03854a3f18b860e5a0676dd8fcdad745b2a
https://github.com/kenCode-de/c-ipfs/commit/f47a6116f0655d33a07985b018b5aec0cacf263d
https://github.com/kenCode-de/c-ipfs/commit/2bb70b01be3c6f1ab09c924cd3c739ff7c307b13
We also got the initial API implemented this week:
https://github.com/kenCode-de/c-ipfs/commit/cce43e2bce24d4028c9f2a4a9fcb7c72b4e935eb
We tested it running along with the rest of the code and had zero problems. The next step is to put the ZLib for compression and jsmn (json library already present in the c-ipfs repository) and make the internal function calls.
BlockPay - Both the QRCodeActivity and the BrainkeyActivity were failing in case the first node/server was not available. This was the case because graphenej didn't yet offer support for a centralized message broker. Every activity/fragment that needs network data must then manage its own connection. A new message broker feature is being finished this week. But in order to give people some working software sooner rather than later, these fixes were introduced here and included in the latest v1.5.13 release. In that same commit the old nodes were also removed from the list and we're now relying on 2 different nodes.
I am still keeping BlockPay in a private repo for now so that we can get some market traction first, but I will probably make the private repo a public repo like the rest in a couple of weeks:
A bug that made the app crash whenever the user tapped the desired amount and moved on to the QR code screen too fast was fixed in this commit. The root cause was a thread mismanagement that caused a NullPointerException.
In this commit we are introducing the initial stub of a "Setup Wizard" for BlockPay which should streamline the initial setup procedure by breaking it apart into 3 very distinct steps, with plenty of room for explanations and pictures. We have done an initial mockup animation for this Setup Wizard already. If you'd like to see it, it has been uploaded to our Telegram group chat, so just ping us there to have a sneak peek:
Smartcoins Wallet - Since we had to setup new servers (remember, we had to freeze the bank account of you-know-who), this week we have done a lot of testing on the new servers so that we don't ever have a network downtime. This is not cheap, so again I have got to thank @onceuponatime for stepping up to save the project!
We now have the new servers online and running, and we have updated the node-hopping list in the code of the app itself to look for the new servers in the list.
The Transactions display has been undergoing some major improvements as well so that you do not have to sit there waiting for the database to sync up the first time from the full nodes. We use a "lazy loading" process in the background now so as to not annoy the user.
Also, we have gotten back up to speed on the issues that were reported on my github page and should have the rest of them knocked out very soon while we are working on the "Carbon" features at the same time.
Relevant commits for all this work can be audited here:
https://github.com/kenCode-de/smartcoins-wallet/commit/36a88ed56906e217d689906e0a7dfc148fb85d08
https://github.com/kenCode-de/smartcoins-wallet/commit/af48c00cd2da2209b1bcbc379c362b981df67318
https://github.com/kenCode-de/smartcoins-wallet/commit/cd1f84ca53a06595bd186d4d1b35818868e348e3
https://github.com/kenCode-de/smartcoins-wallet/commit/92a8a4156cccdf5b67f3ee252174dfa8682f58e3
https://github.com/kenCode-de/smartcoins-wallet/commit/a852421b92caad75bcf239662cdc93f342433908
https://github.com/kenCode-de/smartcoins-wallet/commit/8ab39abe9ff2505bdf8fed4251a419c8a2d5149d
https://github.com/kenCode-de/smartcoins-wallet/commit/d022e52cedfe39dc6964f633e04212530398e75a
If you haven't tried the Smartcoins Wallet for android yet, give it a shot!
https://play.google.com/store/apps/details?id=de.bitsharesmunich.smartcoinswallet
graphenej - Graphenej is the library that we have built that anyone can use to develop mobile wallets on android for the Bitshares blockchain. See my github page if you'd like to fork it, tweak and compete as I always say.
We have now finished the implementation of Node-Hopping, and the message broker in graphenej (and better doc styles). This means that, when we replace old usage into new usage in BlockPay and the Smartcoins Wallet, all network messages will be dealt with by a broker (which is very well organized and easily extensible) in one active WebSocket connection to the node (instead of the current mess of having one WebSocket per Activity, which is a bandwidth killer).
We have now completed the base API docs and some code style refactoring for graphenej API classes (classes on the package de.bitsharesmunich.graphenej.api). The code and comment style used are now official Android (https://source.android.com/source/code-style) and Oracle (http://www.oracle.com/technetwork/articles/java/index-137868.html) guidelines.
The relevant commits for this work can be audited here:
https://github.com/kenCode-de/graphenej/commit/5369976f08047d05ed9d021c820260025a07851d
https://github.com/kenCode-de/graphenej/commit/7313279f95664385e7f922a4217532bcaedb102a
https://github.com/kenCode-de/graphenej/commit/5a58cf557959f08da244cc6bb1d4bfaff9a2c9b0
https://github.com/kenCode-de/graphenej/commit/c29830da9bc3d80ea6ac3bb0a6da0ade7b34642d
https://github.com/kenCode-de/graphenej/commit/f367eb0021cca1a92e612d92a0ee8fe0677c5635
https://github.com/kenCode-de/graphenej/commit/ad2e41454808d79ce5eac3a2cfa7a7424aba2ae9
https://github.com/kenCode-de/graphenej/commit/e364fe678fec81a095b19379d54f2cfd135616f5
https://github.com/kenCode-de/graphenej/commit/a824d8fc40edb482d5c8ea45bd749915e8eb8792
Ledger Nano S - Man it's gonna be REALLY nice having a cold-storage device for Bitshares assets. This week, our Ledger Nano S devices arrived so that we can compile their sdk, got the testing server all setup, studied the Ledger documentation a bit more, communicated a bit more with the Ledger Core Devs, and begin actual setup and testing on the device itself..
In addition, more technical research done now on the Ledger Nano S firmware, BOLOS, and tight graphene integration. We also configured the Ledger-specific development environment, and compiled and loaded their HelloWorld onto the device (this was interesting as there was some conflicting documentation on how to run this one).
Status of his BitShares Munich IVS hostile-takeover attempt - Not sure where our CFO you-know-who has been the last month or so, but my lawyer has luckily been able to communicate somewhat with his father/lawyer and figure out how we are going to settle this BitShares Munich IVS mess. There are now 895 of us BLOCKPAY token holders (http://cryptofresh.com/a/BLOCKPAY) so I hope to hell he does the right thing here, but we will know for sure by the 28th as I mentioned in my last post.
I hope you enjoy my weekly reports, we get a lot done every week and I have a lot of ideas for additional products!
On that note, I have another job opening that I will be posting in a couple days too, so stay tuned and thank you again for Following our work! :)
Peace, Love, and Agorism.
..ken