Author

Topic: [OFFLINE] DjsWallet - BETA - BIP32 Based JavaScript Wallet - Multiple Currencies (Read 7155 times)

sr. member
Activity: 409
Merit: 251
Crypt'n Since 2011
The WIF private key is now shown directly below the addresses within the wallet.

Please print out, or import into another wallet.  Send transaction is not working at this time. Current wallet site will be going off line on Friday 3/7/2015.

There will still be a way to get private keys after Friday with your wallet key, but it involves writing a script and using my fork of bitcoinjs-lib https://github.com/p2pmining/bitcoinjs-lib

Sorry for the inconvenience.
sr. member
Activity: 409
Merit: 251
Crypt'n Since 2011
Before I take it off line I will add an area under each address that will show the private key that can be imported into a standard client
member
Activity: 98
Merit: 10
programming never gets boring...
hi

well, I'm the first one! so please add me to the list
sr. member
Activity: 409
Merit: 251
Crypt'n Since 2011
The server is going to go down for a few days.

If anyone needs help recovering a private key from your wallet key please post a request.

Thanks,

Jason

 
member
Activity: 98
Merit: 10
programming never gets boring...
Still working on that.  The wallet currently doesn't grab the balances until the wallets tab is clicked.

By the way, Had to reboot server.  Will be a while until all the chains are caught up.

cool, so it could be removed (the balance info) and add another I guess

glad to see that are still working, I really like the site and hope I can move my litecoins in there so I can delete the blokchain in my hhdd and get some space back Cheesy
sr. member
Activity: 409
Merit: 251
Crypt'n Since 2011
Still working on that.  The wallet currently doesn't grab the balances until the wallets tab is clicked.

By the way, Had to reboot server.  Will be a while until all the chains are caught up.
member
Activity: 98
Merit: 10
programming never gets boring...
hi

one issue:
when I login into my account, in the 'overview' tab balances remains 0 (zero) unless I got into the coin tab and press update
member
Activity: 98
Merit: 10
programming never gets boring...
great job  Grin

waiting for the 'backup wallet' button  Cheesy
newbie
Activity: 7
Merit: 0
Quote from: JayCoin
Namecoin functionallity is working. You can now NEW_NAME , FIRST_UPDATE, UPDATE_NAME within the Namecoin wallet.
Fixed Namecoin Transaction Balance  Grin
Thank you Jason!  Smiley
sr. member
Activity: 409
Merit: 251
Crypt'n Since 2011
Fixed Namecoin Transaction Balance  Grin
sr. member
Activity: 409
Merit: 251
Crypt'n Since 2011
Namecoin functionallity is working. You can now NEW_NAME , FIRST_UPDATE, UPDATE_NAME within the Namecoin wallet. 

The transaction ledger display balances that are not correct. Should be fixed soon.

Jason
hero member
Activity: 504
Merit: 500
To use on bip32.org site:

1. On the bip32.org click BIP32 Key

2. Cut and paste the BIP32 Private Key(which is under the wallet details tab) to the BIP32 Extended Key Field at bip32.org

3. Select the "External account i'th keypair: m/k'/0/i" path

4. Set Account k': 0

5. Set Keypair index(i) to the address index you need: 0 for the first receive address, 1 for the second, etc. (these are the Receive addresses)

6. For the change addresses Select the "Internal account i'th keypair: m/k'/1/i" path

7. Set Account k': 0

8. Set Keypair index(i) to the address index you need

bip32.org currently only supports Bitcoin,Litecoin and Dogecoin

Thanks.
I am trying to compare for Bitcoin now. It works.
The addresses generated by your wallet are identical with those from bip32.org.(for Bitcoin)
sr. member
Activity: 409
Merit: 251
Crypt'n Since 2011
To use on bip32.org site:

1. On the bip32.org click BIP32 Key

2. Cut and paste the BIP32 Private Key(which is under the wallet details tab) to the BIP32 Extended Key Field at bip32.org

3. Select the "External account i'th keypair: m/k'/0/i" path

4. Set Account k': 0

5. Set Keypair index(i) to the address index you need: 0 for the first receive address, 1 for the second, etc. (these are the Receive addresses)

6. For the change addresses Select the "Internal account i'th keypair: m/k'/1/i" path

7. Set Account k': 0

8. Set Keypair index(i) to the address index you need

bip32.org currently only supports Bitcoin,Litecoin and Dogecoin





hero member
Activity: 504
Merit: 500
The seed used for generating the extended BIP32 key for each wallet is generated as so:

1. The user master key is hashed with the password using HMACsha256 twice. (byte 1 through 32 is used for the seed. Byte 0 is the Djswallet version byte and byte 33-36 is the password checksum. There is also the base58 checksum in there)
2. That data is then concatenated with the network name
3. That data is then used for the seed for the BIP32 key.

Each network will have different keys.

The Djswallet version byte will allow me to change the key format in the future and still work with current keys

Note: Don't use namecoin operations yet. The only thing that works is NEW NAME. FIRST UPDATE and UPDATE NAME are not working yet. The site is also still ugly.

Thanks for trying it out.

I think this will be the first web wallet with full Namecoin support.
Thanks for the explanation.
I only tried until now the generating keys part but I would like to reproduce the same results as by other bip32 generators.
Comparing with the results with the results from http://bip32.org/ for Bitcoin I cannot see any coverage. Reproducing the results with different tools would be important.
Maybe I used wrong parameters. However I tried many variations by putting the BIP32 private key from your wallet in the derived private key field from bip32 without any coverage by the generated addresses. Any idea why or how could be reproduced the same addresses ?
Thanks.
sr. member
Activity: 409
Merit: 251
Crypt'n Since 2011
The seed used for generating the extended BIP32 key for each wallet is generated as so:

1. The user master key is hashed with the password using HMACsha256 twice. (byte 1 through 32 is used for the seed. Byte 0 is the Djswallet version byte and byte 33-36 is the password checksum. There is also the base58 checksum in there)
2. That data is then concatenated with the network name
3. That data is then used for the seed for the BIP32 key.

Each network will have different keys.

The Djswallet version byte will allow me to change the key format in the future and still work with current keys

Note: Don't use namecoin operations yet. The only thing that works is NEW NAME. FIRST UPDATE and UPDATE NAME are not working yet. The site is also still ugly.

Thanks for trying it out.

I think this will be the first web wallet with full Namecoin support.
hero member
Activity: 504
Merit: 500
Thanks for integrating Namecoin support.
I am asking if the private keys are generated with the same method by Bitcoin and Namecoin only with different network parameter or you are using different methods.
If it would be the same method I guess the private keys would be the same by Bitcoin and Namecoin as it is the case by brain wallets also when generated from the same seed with the same method.
sr. member
Activity: 409
Merit: 251
Crypt'n Since 2011
Thanks for the input.

In other News:

First Namecoin command completed OP_NAME_NEW

I was able to generate the first OP_NAME_NEW transaction with djswallet (in javascript console).

I then manually sent the raw transaction with namecoind

http://explorer.namecoin.info/tx/597370b632efb35d5ed554c634c7af44affa6066f2a87a88046532d4057b46f8

Do not use. Currently the random number used is not recorded and you will not be able to do the first update.
hero member
Activity: 504
Merit: 500
- Hello Everyone -

Looking for Alpha/Beta testers of a new BIP32 Based JavaScript Wallet.

DjsWallet

(dee-jays-wallet)

Deterministic javascript Wallet

Wallet is based on a customized version of bitcoinjs-lib which you can see here: https://github.com/p2pmining/bitcoinjs-lib

Private Keys could be reconstructed from repository library, master key and password. (Not easily as of now).

This wallet currently supports Bitcoin,Namecoin,Litecoin,Devcoin,Dogecoin,iXcoin and i0coin. (More can/will be added. Send me suggestions and why)

Only advanced browsers are supported. (IE 11+, Chrome, Firefox).

Deterministic address generation so no need to backup wallets.

WARNING: I CAN NOT RECOVER KEYS OR PASSWORDS! ALPHA! PRINT OUT KEY AND KEEP SAFE!

Use only for testing with small amounts of currency value.

You can try it out at https://djswallet.com/wallet.php  (Ignore certificate warning. Self signed cert for now)

Please Post Bugs And Suggestions

Also looking for sponsors and partners. PM me.

Coming Soon:
  • Formating
  • Message Signing
  • QRCode Support
  • Custom Transactions
  • Automatic updating of transactions and balances
  • Detailed Transaction Information
  • Instructions / FAQ / General Info
  • Market Prices

Bugs:
  • Code clean up (On going...)
  • does not clear old unconfirmed transactions
  • does not wait for 100 confirmations on mined coins before trying to spend them
  • can't add tag to change addresses
  • can't add tag to newly generated addresses
  • address table overflows sometimes

USE AT YOUR OWN RISK. I CAN NOT BE RESPONSIBLE FOR LOST OR STOLEN COINS. PLEASE DON"T USE WITH ANY LARGE MONETARY VALUE.

FAQ

Q: What is a hierarchal deterministic wallet?
A: It is a “crypto-currency “ wallet that generates all private and public keys from a single seed and is organized into a tree structure which allows the entire or partial sharing of the wallet with different systems. See the BIP0032 wiki for more detail. https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki

Q: What is the JavaScript part?
A: The JavaScript is the scripting language built into all modern browsers that the wallet is written in. All of the wallet cryptographic functions are run in the browser. Only transaction data is sent to and retrieved from our servers along with a hash of the seed data. This hash acts as a user id to prevent spamming of the system and is registered with our servers when creating the seed.

Q: How can I recover my password?
A: Sorry, no password recovery functions are available. We do not store or control any usable part of your wallet. It is up to you to remember and secure your password.

Q: How can I recover my seed key?
A: Sorry, again. Make sure you bookmark your seed key and print a copy of it too. Your seed key and password contain all the data used to generate your entire wallet.

Q: What if your site shuts down? How will I recover my wallet?
A: The underlying code is open source and can be used to generate your private keys and import them into another client. We use a modified version of bitcoinjs-lib and it can be downloaded here:https://github.com/p2pmining/bitcoinjs-lib.

Q: How does the wallet know my password is correct?
A: Key data is hashed with the password and part of that hash is embedded into the key and acts as password verification.

Q: What crypto-currencies does it the wallet support?
A: Currently Bitcoin, Namecoin, Litecoin, Devcoin, Dogecoin, Ixcoin and I0coin are supported. Additional blockchains will be added when requested by enough users. Only Bitcoin,Litecoin and Dogecoin currently have official BIP 0032 version ids. Other coins version ids have been created by us to allow BIP 0032 functionality.

Thanks for creating this interesting project and for implementing Namecoin support.
I tried with Mozilla for Bitcoin and Namecoin and superficially seems to work however I haven't done deeper tests.
Wallet creation works. Creating receive addresses and change addresses works.
Source code still not checked and transactions also not checked.

A small observation:
In the upper row it is
 DjsWallet    Home    Wallet    Discussion
When I am in the Wallet menu with generated or opened wallet(which takes a little bit time) and I change to discussions or Home menu the wallet will close which I find in contrast with the general expectations because you need to wait again  a lot if going back to wallet.
I would put instead open with a new tab by discussions without closing the wallet. Instead of home I would put Close wallet or Home(close wallet) to let know users what happens.
Thanks and waiting for further updates.
sr. member
Activity: 409
Merit: 251
Crypt'n Since 2011
    - Hello Everyone -

    Looking for Beta testers of a new BIP32 Based JavaScript Wallet.

DjsWallet

(dee-jays-wallet)

Deterministic javascript Wallet

Now With Full Namecoin support including name operations


Wallet is based on a customized version of bitcoinjs-lib which you can see here: https://github.com/p2pmining/bitcoinjs-lib

Private Keys could be reconstructed from repository library, master key and password. (Not easily as of now).

This wallet currently supports Bitcoin,Namecoin,Litecoin,Devcoin,Dogecoin,iXcoin and i0coin. (More can/will be added. Send me suggestions and why)

Only advanced browsers are supported. (IE 11+, Chrome, Firefox).

Deterministic address generation so no need to backup wallets.

WARNING: I CAN NOT RECOVER KEYS OR PASSWORDS! BETA! PRINT OUT KEY AND KEEP SAFE!

Use only for testing with small amounts of currency value.

You can try it out at https://djswallet.com/wallet.php  

Please Post Bugs And Suggestions

Also looking for sponsors and partners. PM me.

Coming Soon:
  • Formating
  • Message Signing
  • QRCode Support
  • Custom Transactions
  • Automatic updating of transactions and balances
  • Detailed Transaction Information
  • Instructions / FAQ / General Info
  • Market Prices

Bugs:
  • Code clean up (On going...)
  • does not clear old unconfirmed transactions
  • does not wait for 100 confirmations on mined coins before trying to spend them
  • can't add tag to change addresses
  • can't add tag to newly generated addresses
  • address table overflows sometimes

USE AT YOUR OWN RISK. I CAN NOT BE RESPONSIBLE FOR LOST OR STOLEN COINS. PLEASE DON"T USE WITH ANY LARGE MONETARY VALUE.

FAQ

Q: What is a hierarchal deterministic wallet?
A: It is a “crypto-currency “ wallet that generates all private and public keys from a single seed and is organized into a tree structure which allows the entire or partial sharing of the wallet with different systems. See the BIP0032 wiki for more detail. https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki

Q: What is the JavaScript part?
A: The JavaScript is the scripting language built into all modern browsers that the wallet is written in. All of the wallet cryptographic functions are run in the browser. Only transaction data is sent to and retrieved from our servers along with a hash of the seed data. This hash acts as a user id to prevent spamming of the system and is registered with our servers when creating the seed.

Q: How can I recover my password?
A: Sorry, no password recovery functions are available. We do not store or control any usable part of your wallet. It is up to you to remember and secure your password.

Q: How can I recover my seed key?
A: Sorry, again. Make sure you bookmark your seed key and print a copy of it too. Your seed key and password contain all the data used to generate your entire wallet.

Q: What if your site shuts down? How will I recover my wallet?
A: The underlying code is open source and can be used to generate your private keys and import them into another client. We use a modified version of bitcoinjs-lib and it can be downloaded here:https://github.com/p2pmining/bitcoinjs-lib.

Q: How does the wallet know my password is correct?
A: Key data is hashed with the password and part of that hash is embedded into the key and acts as password verification.

Q: What crypto-currencies does it the wallet support?
A: Currently Bitcoin, Namecoin, Litecoin, Devcoin, Dogecoin, Ixcoin and I0coin are supported. Additional blockchains will be added when requested by enough users. Only Bitcoin,Litecoin and Dogecoin currently have official BIP 0032 version ids. Other coins version ids have been created by us to allow BIP 0032 functionality.


[/list]
Jump to: