Actually it would be even nicer if we could treat our wallet.dat file as a generic keystore, importing and exporting keys. This would allow merging and splitting of wallets as well, besides signatures as suggested above.
-
davout commented at 12:29 PM on December 20, 2010: none
-
cdecker commented at 1:34 PM on December 20, 2010: contributor
We already have generic keystores on Linux machines, why not adapt Bitcoin to use them and provide a really simple one for systems that do not provide their own?
-
gavinandresen commented at 1:45 PM on December 20, 2010: contributor
See my python bitcointools for code that can read and write the key/value pairs in wallet.dat (fixwallet.py reads the wallet and writes out a new wallet, leaving out any keys that seem to be mis-formatted).
Merging wallets is hard because you have to teach bitcoin to re-scan the block chain for transactions to or from keys you just imported.
-
cdecker commented at 1:49 PM on December 20, 2010: contributor
Just delete all the block data and redownload the block chain.
-
davout commented at 5:32 PM on December 20, 2010: none
Deletion is not necessary, doesn't it already happen anyway when wallet is replaced ?
-
mndrix commented at 6:00 PM on February 9, 2011: contributor
Easy import and export of keys would make it easier for trusted vendors to sell Bitcoin stored-value cards (USB sticks, mini CDs, etc) with a private key on them. The buyer then just imports the private key from the card.
Easy import/export also addresses parts of issue #2
-
gasteve commented at 4:32 AM on February 28, 2011: none
Easy import/export is an important feature for the day when transactions are no longer free on the network. People won't want to pay transaction fees when consolidating or moving btc value between different wallets they own. Also, easy import/export should be treated like moving (rather than copying) to prevent keys from ending up in multiple, concurrently active wallets (backup should be used for ensuring you don't lose keys).
I think I'll create a separate issue for this (since it is straying from this topic).
As for treating the wallet as a generic key store or using existing key store solutions, I think it's better to stay away from that in the short term. That could pose quite a few technical and integration challenges, and if not done very carefully, could pose a security risk (you would be putting bitcoin users at the mercy of third party key storage solutions that may or may not be very well implemented).
-
alexwaters commented at 6:46 AM on September 6, 2011: contributor
#220 wallet import and export should resolve this issue, please contribute to that thread.
- alexwaters closed this on Sep 6, 2011
- laanwj referenced this in commit b9e80983a5 on Sep 18, 2011
- devurandom cross-referenced this on Dec 1, 2011 from issue bitcoin-qt crashes in db on startup by devurandom
- dooglus cross-referenced this on Dec 3, 2011 from issue RPC 'sendfrom' with invalid address crashes bitcoind by dooglus
- luke-jr cross-referenced this on Mar 25, 2012 from issue Startup blocks on mutex at "Loading Addresses" by luke-jr
- gavinandresen cross-referenced this on Apr 8, 2012 from issue addrMan crash on CentOS by gavinandresen
- luke-jr cross-referenced this on Apr 28, 2012 from issue Addrman crash by luke-jr
- rebroad cross-referenced this on May 2, 2012 from issue bitcoin-qt usually SEGVs when exited using unix signals by rebroad
- wizeman cross-referenced this on May 14, 2012 from issue NULL ptr deref when press Ctrl+C right after starting bitcoind by wizeman
- grarpamp cross-referenced this on Jun 16, 2012 from issue detachdb - coredump backtrace by grarpamp
- grarpamp cross-referenced this on Jun 22, 2012 from issue Boost exceptions in ReadConfigFile() not caught by grarpamp
- rebroad cross-referenced this on Mar 21, 2013 from issue ReserveKeyFromKeyPool(): read failed by rebroad
- dvdkhlng cross-referenced this on Mar 28, 2013 from issue Bitcoind aborts on startup: ./db/skiplist.h:152 Assertion `n >= 0' failed. by dvdkhlng
- wtogami cross-referenced this on May 27, 2013 from issue bitcoin-qt hangs during shutdown by wtogami
- sipa referenced this in commit 16fbc0f281 on Jun 2, 2013
- nelisky referenced this in commit 8b3530d21a on Aug 8, 2013
- kac- referenced this in commit 5d63ba21c6 on Mar 25, 2014
- justmoon referenced this in commit e40837da51 on Apr 7, 2014
- gmaxwell cross-referenced this on Jun 9, 2014 from issue CBasicKeyStore::AddCScript() : redeemScripts > 520 bytes are invalid by gmaxwell
- pstratem cross-referenced this on Jun 15, 2014 from issue libsecp256k1 integration by theuni
- rebroad cross-referenced this on Jun 25, 2014 from issue bitcoin-qt core dumping by rebroad
- rebroad cross-referenced this on Sep 11, 2014 from issue . by rebroad
- imharrywu cross-referenced this on Sep 28, 2014 from issue null pointer of pindexPrev crash. by imharrywu
- kac- referenced this in commit 35f0a4e2e9 on Oct 8, 2014
- eduffield222 cross-referenced this on Jan 23, 2015 from issue Code vulnerable to segfault after a network fork by eduffield222
- lecbee cross-referenced this on Feb 16, 2015 from issue core dumped when closing bitcoin-qt by lecbee
- rustyrussell cross-referenced this on Mar 26, 2015 from issue Add autoprune functionality by sdaftuar
- primezeta cross-referenced this on Jun 24, 2015 from issue Segmentation fault on bitcoind or bitcoin-qt startup (64bit Linux) by primezeta
- seigneur cross-referenced this on Jul 7, 2015 from issue After upgrading to 0.10.2 bitcoind hangs at Opened LevelDB successfully by seigneur
- TheBlueMatt cross-referenced this on Jul 9, 2015 from issue connection limit calculation for select() is overly ambitious with -txindex by TheBlueMatt
- braydonf referenced this in commit 508bedaae0 on May 10, 2016
- Celean cross-referenced this on Mar 8, 2017 from issue v0.14.0 shutdown hangs by Celean
- gmaxwell cross-referenced this on Mar 15, 2017 from issue Running out of disk space during GUI init results in hang and non-drawing windows by gmaxwell
- gmaxwell cross-referenced this on May 22, 2017 from issue Switch chainstate db and cache to per-txout model by sipa
- AkioNak referenced this in commit bf226befaf on Jul 24, 2017
- laanwj referenced this in commit b13a68e129 on Aug 2, 2017
- fametrano referenced this in commit ecbd242045 on Aug 4, 2017
- JeremyRubin referenced this in commit 7f378349b2 on Aug 9, 2017
- dooglus cross-referenced this on Aug 25, 2017 from issue gui, wallet: random abort (segmentation fault) running master/HEAD by dooglus
- MarcoFalke referenced this in commit 2151c25dca on Sep 29, 2017
- Anfauglith referenced this in commit 222b328a4b on Oct 26, 2017
- classesjack referenced this in commit a1f4b4cbcf on Jan 2, 2018
- HashUnlimited referenced this in commit fb8585691c on Mar 9, 2018
- KrzysiekJ referenced this in commit 5e670fdb0c on Mar 28, 2018
- WorkShop-Office cross-referenced this on Apr 11, 2018 from issue Segfault on startup at a04440 by hkjn
- effectsToCause referenced this in commit c3686e6d08 on Jun 22, 2018
- MarcoFalke referenced this in commit 4d550ffab6 on Jul 30, 2018
- Empact referenced this in commit 2a3aa4350e on Aug 1, 2018
- girishvg cross-referenced this on Aug 11, 2018 from issue tinyformat.h porting problem? by girishvg
- funasty1985 cross-referenced this on Aug 13, 2018 from issue bitcoind Segmentation fault (core dumped) by funasty1985
- hashtobewild referenced this in commit f7d07449a3 on Aug 26, 2018
- ashishchandr70 cross-referenced this on Sep 13, 2018 from issue bitcoind aborts with boost exception in WSL guest by ashishchandr70
- Rspigler cross-referenced this on Oct 13, 2018 from issue Bus error (core dumped) crash on Fedora (txindex migration?) by Rspigler
- dooglus referenced this in commit f1f88bed2e on Oct 20, 2018
- cryptapus referenced this in commit 545fadbc57 on Jan 12, 2019
- farrilis cross-referenced this on Mar 29, 2019 from issue v0.18.0 testing by Sjors
- kayront cross-referenced this on Apr 18, 2019 from issue bitcoin core does not compile on Solaris by kayront
- stefanwouldgo cross-referenced this on Sep 23, 2019 from issue strange behavior on termux by stefanwouldgo
- DigiGreenCoin referenced this in commit 15e2eddfd7 on Oct 29, 2019
- sipsorcery referenced this in commit e9c85bb139 on Nov 7, 2019
- MarcoFalke referenced this in commit cf43f3f0a8 on Dec 5, 2019
- Warchant referenced this in commit 7958da26e8 on Dec 31, 2019
- laanwj referenced this in commit 66480821b3 on Feb 10, 2020
- laanwj referenced this in commit 31bdd86631 on Jul 15, 2020
- KolbyML referenced this in commit 574a08d376 on Sep 4, 2020
- laanwj referenced this in commit 924a4ff7eb on Oct 29, 2020
- jonasschnelli referenced this in commit c33662a0ea on Dec 2, 2020
- laanwj referenced this in commit e520e091db on Jan 6, 2021
- MarcoFalke referenced this in commit 590e49ccf2 on Apr 4, 2021
- rednil cross-referenced this on Apr 5, 2021 from issue wallet: Segmentation fault during sync by rednil
- MarcoFalke referenced this in commit bce09da122 on Apr 28, 2021
- fanquake referenced this in commit fa00bb2c5c on Apr 29, 2021
- MarcoFalke referenced this in commit eb9a1fe037 on May 7, 2021
- laanwj referenced this in commit ee9befe8b4 on May 12, 2021
- MarcoFalke referenced this in commit c857148636 on May 15, 2021
- rajarshimaitra referenced this in commit f991d5cf2e on Aug 5, 2021
- bitcoin locked this on Sep 8, 2021