Greetings from the humongous! .. The warrior of the wasteland!
Sorry, watched it last night, still got the lines stuck in my head ;)
Status of the BitShares Munich IVS hostile takeover attempt - So the other night, all the attorneys and @onceuponatime have asked me to wait just one more week before I make the big announcement, or reveal more of the bad stuff about you-know-who that I mentioned recently, so I am honoring their request.
On the plus side (in addition to the Danish announcement), it looks like you-know-who is being fired from the Bitshares Committee too:
Since you-know-who still hasn't shown us the accounting ledger, or paid the debts and bills etc, I have had to setup new servers (thanx again to onceuponatime). Those servers are now online and I will talk more about that below. Github also emailed me and said that he stopped paying the bill for the private repos a couple months ago, so those repos are now public.
The momentum is picking up again which is awesome, and there are over 150 of us in the new telegram group already, including a ton of the BlockPay Ambassadors, so pop in and say hello! ..
Belieeeve me when I tell you that I am just as anxious as you guys are. My family too, this has been an absolute nightmare. Rest assured, I am pushing as hard as I possibly can and I will move us past this.
Two days ago I saw a truck that could haul that tanker. You want to get out of here.. talk to me. -Max
Ok so, let's get to the mountain of coding that we got done this week! :)
BlockPay - This week we worked on tighter integration with the new graphenej library, initial steps for integration of additional Bridges, and the new Setup Wizard I spoke about. This Wizard will be a max of 3 steps, and is being implemented using a simple ViewPager and a custom indicator.
The first step involves the creation/import of a Bitshares account, the most basic requisite in order to use the app. The second step involves just the selection of the output asset (which currency does the merchant prefer). And finally the third step involves the setup and surety funding of the Bridge account so that even slow coins like Dogecoin and Bitcoin will go thru in 3 seconds as well.
Remember, customer-to-customer in 8 seconds max. BlockPay must be faster and safer than cash. Hence the surety, so that slow-coin customers don't have to stand at the cash register for an hour while their Bitcoin clears. ;)
All but the 3rd step are mandatory, and the app blocks the advancement if the current step was not completed. If the user leaves the app without finishing it, it will be returned to this step again. The 2 assets selected by default are "Smartcoins" and "Bitcoin". The merchant is free to later enable more coin choices (like Steem, SBD, Dash, etc) or even remove "Bitcoin".
The whole Setup Wizard was added in a single commit here. This code is still being maintained in a separate branch and upon my approval, it will be merged to the develop branch.
It's not pretty yet and I want to rearrange the steps just a bit more, but here is the alpha1 proof of concept:
Stealth - Stealth is coming along nicely too, finishing up the automated backups this week I hope. Then we can formally launch C-IPFS on my github as well. We also got a lot done on the gateway and API for it here:
We fixed thread-safe and the handling of direct requests, the chunked encoding needs to be updated yet, but we can proceed without that and do it later, as we'll only we need it to transfer large files and keep it compatible with go-ipfs, but not for small requests like Stealth transactions.
We've also been finishing up the bitswap protocol. In the process of adding this protocol, we've also been able to clean up some old code, and simplify some methods. This is making testing a bit longer, but debugging faster, so the tradeoff is about even.
There are a ton of code changes this week. Some are minor, others are quite large. Here’s the rundown:
Added some tweaks to c-multiaddr to compare addresses:
Added compares to some areas of c-libp2p also, plus some code cleanup:
Implementation of the bitswap protocol, with some cleanup too:
The testnet will run on our new servers as discussed below. There was a point mentioned by @full-steem-ahead about the legal aspects of using Blockstream's Confidential Assets (CA) open source code in the future. If there's a Lawyer willing to assure us that using their open source (and retaining their license of course) will not come back to bite us, I am offering a 500 SBD bounty for that work and pdf. See our comments on that here.
Ledger Nano S - Yep, finally cold storage for your Bitshares assets! :)
- Inspect/study Nano S Secure SDK (https://github.com/LedgerHQ/nanos-secure-sdk)
- (Header files and C library functions for BOLOS apps)
- BOLOS tech documentation (http://ledger.readthedocs.io/en/latest/)
- Inspect/study Python API for communicating with Ledger devices (https://github.com/LedgerHQ/blue-loader-python)
- Established communication with Nano device via python HIDDongleHIDAPI.exchange() method.
- Comprehension of blue-app-helloperso sample source code, which demonstrates BIP-32 derivation of addresses from a private key seed.
- Perusal of all repositories under LedgerHQ to assess relevance to current project.
We are doing a simple CLI Wallet proof-of-concept first (I'll post a simple youtube video for this too), and if funds allow then we will slap a nice UI onto it. With communications now working, some interface code is starting to flow to my github on it here:
graphenej (for mobile app Devs) - This week we finally finished all of the node-hopping code, and coded all the unit tests. Our work on graphenej has been extensive so that it can be used in all of our other graphene-based mobile apps and for other Dev teams as well. Hope you like it! :) See the commits here:
Smartcoins Wallet - The faucet code needed a serious upgrade since our upgrade to graphenej, here are the relevant commits:
We have also standardized our code style to Android standards, and we also add 33-50% code commenting so that once we finally run doxygen, our online docs will be much easier to read. I'm pretty strict about this because I have been getting quite a few offers lately from Devs who want to help with our products and projects :)
The Carbon (Smartcoins Wallet v2.0) animation code, 6-chains integration, NFC support, C-IPFS integration and Bridge addition begins at the end of next week too fyi, just wanted you to know we are going gangbusters on this part.
New servers, full nodes - Our new servers have to run full nodes for 6 blockchains, no small task. Plus, Icinga (was Nagios), spamassassin on the email server, etc. Tons of RAM and hard drive space needed to run successful nodes with so much loaded (until we can afford more servers anyway).
We have dockerized the Bitshares node and are in the process of testing (well, beating the hell out of them actually) the other full nodes. This last week we got an issue with the first server, it restarted without reason, we contacted our support Rep, and he told us that this happens with other clients, so we are researching what happened so as to avoid any conflicts in the future.
Right now, that server restart only affects our faucet and the alt-coin nodes. But it doesn't affect the Bitshares node. With Docker, we built a Dockerfile (script to build a linux image) and a docker-compose (script to use that linux in a specific way).
The Dockerfile has everything needed to build a linux img with the apps needed to set a working Bitshares node in any machine (with virtualization compatibility).
The docker-compose uses this img and runs the bitshares node on a specific port (actually, it maps any port to 8090 in the running image).
Finally, we create a directory with the bitshares node data (the one that occupies ~6GB). This directory maps directly into the image. This means that when a node starts working, it doesn't have to synchronize everything again, it just uses what is synchronized already and only downloads what is left to synchronize (feeding the same directory). So, like docker best practices, this node is ephimere and can be replaced anytime.
This week we begin testing the Dash InstantSend code. From there, we just need to test out the account creation code and get Carbon (Smartcoins Wallet v2.0) to use the new nodes and the six blockchains :)
JOB OPENING - Do you know an expert C/C++ Developer? Spread the word and get 100% Upvotes! :) Just give him/her this link, and spread it around on social media:
I have 2 other Job Openings coming in the next week or so too, so just Follow me here on steemit for all the news. I am just about to begin a couple more projects.. Both of them also very profitable so stay tuned..!