If I want to setup an e-wallet service, would I have to create it from scratch or is there any existing open source software that could be used?
It seems like the project was abandoned, but you might be able to recycle the code.
During the last days I started hacking together a little online-wallet and thought some of you might be interested.
It is based on the bitcoind RPC API for handling accounts and adds custom labels stored in database.
If you want to send coins to a labeled address, just start typing the label and it will autocomplete.
It is a Ruby/Rails application released under the MIT license, so you can setup your own online wallet or even run it locally and use it instead of the default client UI.
Note that this is just a very early development version which still needs a lot of work.
Project/Source: http://open.sourceagency.org/projects/webtc Demo (testnet): http://webtc.interesthings.de (There is a demo Account: email@example.com / password, but feel free to create new accounts, the email doesn't have to exist)
Feedback, bug reports, patches and donations welcome
Someone linked me to this project a while back: https://github.com/kangasbros/django-bitcoin
You can use the Wallet class to do different bitcoin-moving applications. Typical example would be a marketplace-style site, where there are multiple sellers and buyer. Or job freelance site, where escrow is needed. Or even an exchange could be done with this abstraction (a little extra classes would be needed however).
Note that while you move bitcoins between Wallet-objects, only bitcoin transactions needed are incoming and outgoing transactions. Transactions between the system "Wallet"-objects don't generate "real" bitcoin transactions. Every transaction (except incoming transactions) is logged to WalletTransaction object to ease accounting.
I haven't had a chance to play around with it myself yet, but it sounds like a decent starting point for building an e-wallet site using Python and Django.
Bitcoin Core JSON API wallet
This is a simple wallet based on the bitcoin-core api
The code is very small:
The routes are ~50 lines https://github.com/makevoid/corb_wallet/blob/master/corb_wallet.rb#L48
The main class is the Wallet class (~70 lines) https://github.com/makevoid/corb_wallet/blob/master/models/wallet.rb#L35 and it's using bitcoin-client, a tiny library that wraps bitcoin core JSON RPC API.
I think using the core wallet has numerous advantages
Also another simple solution will be to create local keys with bitcore and use external apis like in these two repos/apps: https://github.com/makevoid/blockchain_pen_coffee - https://github.com/720kb/BitNFC
key generation both for node and js clientside: https://github.com/makevoid/blockchain_pen_coffee/blob/master/keychain.coffee#L16 and usage of blockchain info api to get balance and utxos https://github.com/makevoid/blockchain-info-api-basic/blob/master/index.coffee#L23
signign and broadcasting a transaction using blockcypher: https://github.com/makevoid/blockchain_pen_coffee/blob/master/bitcore_ext.coffee#L41
Of course these two solutions need development (especially the second), I linked them just to show you an idea on the possibilities stable and available right now with little code.
A good suggestion I think is starting with first the core client or a clientside js wallet library like bitcore and stable block explorer service for getting balance, utxos and sending the tx, if they don't require an api key, that's a plus :D. You have to get your hands into the code and play with the core client / js browser client to build something meaningful to you. Bitcoin is still uncharted land, and just fixing the UI/UX problems, even with a basic client, it's a big win. sorry for the long answer
try ecryptr, here's the github project: https://github.com/devgeeks/Encryptr
Encryptr is a zero-knowledge, cloud-based e-wallet / password manager powered by Crypton.
It started as an example project for seeing what Crypton could do in a Apache Cordova mobile app. I had a particular itch to scratch. I got tired of trying to remember my work password. It changes fairly often, is slightly complex and is generated – I can't choose it for myself.
I had tried a few password managers but hadn't loved any of them – particularly on Android. So, when I needed an idea of an app to make to try out Crypton, this seemed like an obvious choice. At its simplest, Crypton is basically a cloud based key/value store using end to end zero-knowledge encryption. None of the data stored on the server can be viewed by the server.
I wanted something to store hard to remember passwords, important numbers, etc across devices.
Encryptr keeps it simple. It has three types of data it can store. Passwords, Credit Card numbers and general key/value pairs. It can easily be expanded to include other default entry types.
It is currently working on Android, and the Desktop – thanks to NW.js – but there are no reasons why it could not by expanded to Blackberry10 and Windows Phone 8.
iOS is coming soon, just waiting on a way to either make it work with the new WKWebview or to push some of the hard crypto to native.
it sounds like this may be what you are looking for.