I’m by no means an expert but I doubt that the whole of the source code of the Nu client would need to be opened even under an NDA.
I’ve had a good look at the differences between the various clones of the Schildbach wallet. The actual wallet code is mainly concerned with the display to the user so the changes between versions are just updates of text (Bitcoin > Litecoin etc.)
The bit of code that does the actual grunt work and interacts with the Bitcoin (or Altcoin) network is a library called bitcoinj (https://github.com/bitcoinj/bitcoinj). there’s quite a bit in there that is specific to bitcoin but clones do exist. (https://github.com/hank/litecoinj). It should be possible to have a look at the differences between those two libraries and transfer the changes to NuBits. Mostly those changes will be things like the version numbers (which give the NuBit and NuShare addresses the ‘B’ and ‘S’ at the start) but there will be some larger changes needed to switch between POW and POS.
I think my point is that although there is quite a lot of work to do to convert the android wallet to Nu, I don’t see how any of it would need a full view of all the source code of the Nu client.
Jordan said this in the Non-Disclosure agreement post
"Those who have access to the source code are encouraged to describe it using natural language (such as English) in any level of detail publicly as people ask questions. Small code snippets (less than 20 lines) may even be posted publicly to illustrate how specific aspects of the software work."
To my mind, that should be ample (than again, I may be wide of the mark. As I said, I’m not an expert)
porting bitcoinj to nubits is something that can be of great use for everyone, and honestly it won’t take much effort. As soon as my todolist looks more bright I can take a look
It would be totally awesome if the efforts to port existing solutions to a NuBits mobile wallet were not that big at all.
Acceptance of NuBits as payment method is determined by easy, secure and comfortable payment tools.
And a mobile wallet is (in my opinion) the single most important one!
Is there anything that the community/shareholders/myself? can do to speed up working through your todolist?
I’m thinking of things like
sponsoring activities that are on the todolist but can be outsourced (as no NDA relevant tasks are concerned)
motion voting on priority of tasks
motivating people with the required skills to prepare a porting of bitcoinj to “nuj” (preparations that don’t require Nu source code knowledge
foster the development of the bounty custodian by discussing its details in more depth so that I can prepare a draft an bring on board 3-4 extra multisig custodians.
This is exactly what bounties should be for, imho.
@woolly_sammoth Already had that discussion with the developer of the Peercoin Android client. Although it might technically be possible to query the developers instead of having access to the source code, it would likely add development time to the project. BTW we already have a POS backend for the Schildbach wallet. It just needs to be adjusted for NuBits.
I’ve already explored intermediary solutions as open sourcing part of the code or open source slightly crippled code (introducing bugs which would only harm the running of the network but not some specific development). NXT did something similar in the early days, to prevent script kiddies from just copying the code. They even put a bounty on finding them in an attempt to have the full code reviewed.
And I agree that the development of nubitsj (as in bitcoinj) would be nice, but I think almost impossible without having access to the source code.
Anyway, will check if we can have the Peercoin Android wallet developer joining this discussion.
I have already developed the Peercoin Android app. I can use the changes I’ve made for Peercoin to handle the Nubit’s blocks. This would be done by using a centralised server to provide valid block hashes.
The problem I have is knowing the format for Nubits data structures. How does Nubits distinguish between NuShares and Nubits? How are blocks formatted? Are there any other changes to data structures that I would need to know about. I’ll also need to know general information, such as URI format, the genesis block etc. Without the source code I will need to be given this information. I will also need all this information in advance before any contract can be made. If I could discuss with a Nubits developer I might be able to obtain the information I need.
Having the source code as a reference is the easiest way for me to work. I would also need either the source code or necessary information before the contract is formed as I must know what work is required if I’m going to give a fixed price.
I’ve worked on many cryptocurrency projects other than just the Peercoin Android app. You can see some of my five star reviews for some cryptocurrency projects here: https://www.freelancer.co.uk/u/mattmitchell92.html I have no reason to disclose the Nubits source code, I would not want to risk my reputation doing something like that, and I’m not a cheat. However if people would rather not trust me then I can indeed still work without the source if I receive all of the required information.
For what it’s worth I think we should get on this immediately and work with MatthewLM on this. Nubits android wallet should a top priority. Keep it simple, it doesn’t have to deal with NSR at all, it doesn’t have to deal with minting or parking at all. Just transactions in NBT.
while I agree that this is a priority, I wouldn’t be too worried about not having an android wallet for a while. So we shouldn’t rush on important things like this, rather take the best possible path, we have the time to do so. I don’t see too much of hurry in people transferring nubits around with their phone if a) they can’t park them b) they can’t buy stuff with them c) early adopters are likely to have a wallet and NSR to play with.
If you think that I am wrong and we should be rushing this, please try to persuade me by showing some use cases of people desperate to transfer NBT using their smartphones.
I think this is a backwards way of looking at things. Disruptive innovation often introduces consumers to behaviours they never would have thought they needed.
Prior to release, a lot of people ridiculed the idea of a smart phone. Then, when people began using it they realized that it was a powerful tool that enhanced their lives.
If we wait until there’s a rush of people looking to use mobile payment apps with NuBits, we’ll have already lost to a competitor. This is a project that will get people using NBT in a very real way that moves it from the domain of experimental fun to legitimate tool. One example use-case might be if we begin to make headway with partnering with remittance start-ups - an android wallet app would be a very valuable tool to show that we have at our disposal.
The biggest use case that I can think of is a peer-to-peer in-person marketplace, such as Craigslist. The user would bring their mobile phone to make payment, not a laptop computer.
It’s rather low hanging fruit… I think for the effort required it is well worth knocking this out, it is a major checklist item for anyone looking at this coin as a day to day transactional currency…
Android wallet users aren’t going to care much about parking or minting or NSR. They are going to care about buying stuff, shooting buddy 20 NBT back to cover his buddy putting dinner on his credit card, etc etc.
I for one, want NBT on android as quick as humanly possible. I also own a retail store…
I agree whole-heartedly with this comment.
We have a good base to work with with the Andreas Schildbach code. It was forked for Peercoin already, forking it again and getting it out there as soon as possible is very important.
There is nothing saying we can’t go a different way with a different approach / start a new android wallet from scratch later on. Right now this is the path of least resistance and considering i use the Andreas wallet all the time… I think its a good one to take…
I want to have an app for smartphones to show people what it is and to raise their interest in it and in NuBits in general.
If I owe someone money (because I have forgotten my purse at home and decided to visit the factory canteen anyway) I want to be able to ask him/her whether I can pay my debts with NBT right away (I rarely forget my smartphone).
I want to show my family, friends and colleagues how easy it can be to execute micropayments with smartphones (QR codes supported?).
I want to have a reason and something to show when it comes to crypto currencies - especially because NBT is one of the rare examples of a real crypto currency (due to the stable peg)!
I don’t want to wait until Apple/Paypal/Mastercard/randomCoin takes this market without having offered alternatives.
I’m negotiating adding another developer to the NuBit repo (our reference client repository) now. If that is successful, I’ll ask the new developer to make providing Matthew what he needs to develop an Android client his first priority.
This is a high priority, though not the very highest for our existing dev and QA resources.
Just the heads-up. I will publish a new draft proposal for the Android client in the next few days. I’m just fleshing out the last details with the Developer regarding the contract. I will publish the updated draft proposal in a separate thread which I will link to from here. NuBits not being open source at this stage is no longer a roadblock for this proposal. So we are going full steam ahead!
Thank you for pushing forward with this! Please let me know if your developer requires any assistance with branding/design planning. It would be wonderful to have a finalized product that retains the same distinct branding we have with our forum, social media, and wallet properties.
I’ve pointed him to the marketing pack. Ok, I will reveal something as a teaser. We will have the NuBits logo’s, colours and fonts in the App where appropriate.