4

Can anyone recommend any open source code for bitcoin wallet or any bitcoin applications or clients?

please posts links or samples of it.

thank you

closed as too broad by Mathias711, Dennis Kriechel, dchapes, Nate Eldredge, cdecker Jul 22 '14 at 19:48

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • It's rather difficult to make suggestions on a bitcoin wallet to use without knowing what type of wallet you'd like. Do you want a lightweight wallet that'll hold your coins for you without requiring much resources from your computer? Or a full featured wallet that'll provide the best security available, but at a cost of more resources from your computer? – Evan Lynch Jul 9 '14 at 6:28
  • The MultiBit source code is available under MIT licence. – Gary Rowe Jul 9 '14 at 10:37
  • @EvanLynch i want to try code a full featured wallet but maybe i should start with the lightweight wallet. How should i start learning to code the wallets? – Singularityisnear Jul 10 '14 at 6:42
  • 1
    As Mathias711 said, that's a question that's better for stackoverflow as far as these sites go. Actually, I'd personally recommend checking out the bitcointalk.org forums in the development section if you're wanting to build your own wallet. I've read a fair amount of the Armory forum and Alan, the creator of Armory, said that Armory is very well documented, so it would be a good one to work with if you don't mind a fairly complex client. He's quite good at responding to questions over there too. – Evan Lynch Jul 11 '14 at 2:08
  • And by over there, I mean in the Armory forum on bitcointalk: bitcointalk.org/index.php?board=97.0. (I was running out of characters on that last comment.) – Evan Lynch Jul 11 '14 at 2:09
6

Based on your ignorance of where to begin, I would strongly encourage you to use one of the existing wallets rather than trying to reinvent the wheel. That said, if you're just using this as an exercise to learn the code, poking around in the code can be a great way to learn. So here's what I can tell you about the wallets.

1) Bitcoin Armory is the most full featured wallet, in my opinion, at the cost of using the most resources from your computer. It's the one I use so I know the most about it out of all the wallets. It used to load the blockchain into memory, but as the blockchain grew rapidly, that approach made Armory so RAM intensive that it was essentially unusable for everyone but those with a LOT of RAM. If you want to use that old version, I'd recommend 8 GB+ RAM, the more you have, the better it'll run especially over the long haul since the blockchain is only going to get bigger.

The core developer of Armory, Alan, realized this approach was unsustainable for the majority of Armory users so he redesigned it so that it now makes a copy of the blockchain and uses that instead of loading the entire blockchain. The catch is, of course, that this means that using Armory as a full client means using 2X the size of the blockchain. At present day, the blockchain uses up 22.6 GB according to my computer, so double that for the amount of space on your hard drive Armory needs. It's a resource hog either way, but the tradeoff he made makes sense in my opinion since hard drive space is generally a lot more plentiful than RAM, and acquiring more if need be is also a lot cheaper.

Armory is written in python. I haven't looked at the code, but Alan has said on the bitcointalk forums that it's very well documented. It has some very useful features including: a deterministic wallet, meaning that one backup will last you forever, regardless of how many addresses you use; cold storage that's easy to use, which is for most people the biggest benefit of Armory; and for web developers, there is an Armory Daemon that you can run on your website to accept bitcoin payments. Unfortunately, it is no less resource intensive than the desktop version, and thus impractical unless you have essentially unlimited space on your web host.

2) Electrum is a lightweight bitcoin wallet that is also written in python. Unlike with Armory, Electrum stores the full blockchain on servers that you access via the client / server model. This means that Electrum uses no where near the amount of resources of Armory, it only requires that you host your wallet on your computer. Electrum also supports cold storage and wallets can be recovered using a seed, meaning that you do not need to perform regular backups, you just need to ensure that you never lose / forget that seed.

3) Multibit is also a lightweight wallet that is written in Java. It also operates on the client / server model like Electrum does. According to Multibit's FAQ, the portion of the blockchain that a user has to store is only about 25 MB, in other words, only containing your own transactions. If you're not familar with how Bitcoin works in general, I would encourage you to check out Multibit's FAQ as it explains not just Multibit but how Bitcoin in general works. Multibit's website does not advertise a deterministic wallet feature like Armory and Electrum do, so it may require regular backups like the original bitcoin wallet.

4) Hivewallet is also a lightweight wallet that is written in Java. Like Armory and Electrum, it is also deterministic. According to its website, all you have to do is backup the password and you're set. Hivewallet runs on OSX and Android Operating Systems.

5) Bitcoin core is the original bitcoin wallet. Unlike Armory and Electrum, it is not deterministic. Because of this, it is not recommended that you use this client to store your bitcoins because unlike the deterministic clients, it will require regular backups. It is written in C++.

If you still want to dive into the code, I'd encourage you to pick a wallet where you're already familiar with the programming language to start with to simplify the learning curve so you'll only have to learn that wallet's code instead of that wallet's code and that programming language.

2

Bitcoinarmory is open source

Electrum is open-source.

Pick your like

  • So i'm in the Bitcoinarmory open source but i have no clue what to do. Can you please explain how i can code something like Bitcoinarmory and how to use the open source code? Thank you and sorry i'm a beginner – Singularityisnear Jul 10 '14 at 6:45
  • Me neither. That's a whole new question and probably belongs on StackOverflow instead of here. But it is too huge "code something like Bitcoinarmory". Try to make it, and post your question along the way there (or here, if its more Bitcoin related) – Mathias711 Jul 10 '14 at 7:22

Not the answer you're looking for? Browse other questions tagged or ask your own question.