Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom wallet filename option #121

Merged
merged 3 commits into from
Jun 30, 2014

Conversation

digital-dreamer
Copy link
Contributor

You can set walletpath=(file) in bitcoin.conf to use a custom wallet file. It doesn't have to be in the data directory, absolute and relative paths are supported too.

Implements feature request #78

@@ -17,6 +17,7 @@ using namespace boost;
void rescanfornames();

CWallet* pwalletMain;
char *walletPath = "";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not std::string? Since the memory is never freed anyway, it doesn't matter - but I'd like it better than a raw pointer.

@domob1812
Copy link
Contributor

I haven't yet tested it, but the code looks good (see my remarks). I think we can merge this after testing everything thoroughly (absolute / relative paths, backupwallet in particular).

@digital-dreamer
Copy link
Contributor Author

I added a commit with the improvements. I tested both absolute/relative paths and wallet backups (from UI) and it seems to work fine, but it will be better it you check it too, in case I missed something,

@@ -875,7 +876,7 @@ bool BackupWallet(const CWallet& wallet, const string& strDest)
dbenv.lsn_reset(wallet.strWalletFile.c_str(), 0);
mapFileUseCount.erase(wallet.strWalletFile);

// Copy wallet.dat
// Copy wallet file
filesystem::path pathSrc(GetDataDir() + "/" + wallet.strWalletFile);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This creates a double path and makes backupwallet fail.

@phelixbtc
Copy link
Contributor

All these worked fine:
namecoin-qt.exe -walletpath=wallet.dat_ant_test
namecoin-qt.exe -walletpath=..\namecoin\wallet.dat_ant_test
namecoin-qt.exe -walletpath=%appdata%\namecoin\wallet.dat_ant_test
namecoin-qt.exe -walletpath=%appdata%/namecoin\wallet.dat_ant_test

@phelixbtc
Copy link
Contributor

@digital-dreamer Would you like to fix it yourself or should I give it a try?

@digital-dreamer
Copy link
Contributor Author

Is it OK now?

@phelixbtc
Copy link
Contributor

ACK

phelixbtc added a commit that referenced this pull request Jun 30, 2014
@phelixbtc phelixbtc merged commit ca083a9 into namecoin:namecoinq Jun 30, 2014
domob1812 pushed a commit to domob1812/namecoin that referenced this pull request Dec 16, 2014
b0210a9 Merge pull request namecoin#135
ee3eb4b Fix a memory leak and add a number of small tests.
4d879a3 Merge pull request namecoin#134
d5e8362 Merge pull request namecoin#127
7b92cf6 Merge pull request namecoin#132
0bf70a5 Merge pull request namecoin#133
29ae131 Make scalar_add_bit test's overflow detection exact
9048def Avoid undefined shift behaviour
efb7d4b Use constant-time conditional moves instead of byte slicing
d220062 Merge pull request namecoin#131
82f9254 Fix typo
601ca04 Merge pull request namecoin#129
35399e0 Bugfix: b is restricted, not r
c35ff1e Convert lambda splitter to pure scalar code.
cc604e9 Avoid division when decomposing scalars
ff8746d Add secp256k1_scalar_mul_shift_var
bd313f7 Merge pull request namecoin#119
276f987 Merge pull request namecoin#124
25d125e Merge pull request namecoin#126
24b3c65 Add a test case for ECDSA recomputing infinity
32600e5 Add a test for r >= order signature handling
4d4eeea Make secp256k1_fe_mul_inner use the r != property
be82e92 Require that r and b are different for field multiplication.
597128d Make num optional
659b554 Make constant initializers independent from num
0af5b47 Merge pull request namecoin#120
e2e8a36 Merge pull request namecoin#117
c76be9e Remove unused num functions
4285a98 Move lambda-splitting code to scalar.
f24041d Switch all EC/ECDSA logic from num to scalar
6794be6 Add scalar splitting functions
d1502eb Add secp256k1_scalar_inverse_var which delegates to GMP
b5c9ee7 Make test_point_times_order test meaningful again
0b73059 Switch wnaf splitting from num-based to scalar-based
1e6c77c Generalize secp256k1_scalar_get_bits
5213207 Add secp256k1_scalar_add_bit
3c0ae43 Merge pull request namecoin#122
6e05287 Do signature recovery/verification with 4 possible recid case
e3d692f Explain why no y=0 check is necessary for doubling
f7dc1c6 Optimize doubling: secp256k1 has no y=0 point
666d3b5 Merge pull request namecoin#121
2a54f9b Correct typo in comment
9d64145 Merge pull request namecoin#114
99f0728 Fix secp256k1_num_set_bin handling of 0
d907ebc Add bounds checking to field element setters
bb2cd94 Merge pull request namecoin#116
665775b Don't split the g factor when not using endomorphism
9431d6b Merge pull request namecoin#115
e2274c5 build: osx: attempt to work with homebrew keg-only packages

git-subtree-dir: src/secp256k1
git-subtree-split: b0210a95da433e048a11d298efbcc14eb423c95f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants