implement loadwallet and unloadwallet RPC commands#102
Closed
hairetikos wants to merge 19 commits intoZclassicCommunity:masterfrom
Closed
implement loadwallet and unloadwallet RPC commands#102hairetikos wants to merge 19 commits intoZclassicCommunity:masterfrom
loadwallet and unloadwallet RPC commands#102hairetikos wants to merge 19 commits intoZclassicCommunity:masterfrom
Conversation
fix full complete sync from genesis (without fast sync) Allow larger blocks for historical chain variations
since updating the curl version to a more secure version, it will try to build with libpsl by default, which will fail on platforms without libspl we don't need spl, so add --without-libpsl to fix those builds
img2txt -W 88 -H 20 -f utf8 -d none contrib/newlogo.png > newlogo.ansi
this insecure default was inherited from zcash debug.log contains a lot of sensitive transaction metadata, it should only be enabled for debugging purposes (hence, it is called debug.log) disable it by default
These functions securely shred files using a 3-pass overwrite pattern, ensuring sensitive data is irrecoverable. This is important because the `debug.log` file may contain sensitive transaction metadata. `debug.log` should only be used for debugging purposes. a function to also securely shred the onion V3 private key. upon restarting the node a new V3 key and address will be auto-generated
…d debuglogfile option Co-authored-by: hairetikos <19870044+hairetikos@users.noreply.github.com>
fixes building tests
this reverts the code added for shredding operations will re-implement it but best to use OS-native shredding utils such as `shred` that way we do not have to maintain the internal shredding code as filesystems etc change over time, plus `shred` is solid and well-tested and used
Co-authored-by: hairetikos <19870044+hairetikos@users.noreply.github.com>
Co-authored-by: hairetikos <19870044+hairetikos@users.noreply.github.com>
Co-authored-by: hairetikos <19870044+hairetikos@users.noreply.github.com>
Co-authored-by: hairetikos <19870044+hairetikos@users.noreply.github.com>
Author
|
will re-open with just the relevant commits cherry-picked |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
since zcash lacks this, we had to implement it
partially completes #101
for now, we support a single wallet being loaded, and unloaded
when loading a wallet again, a
rescanis properly triggered -- this may be slow with some wallets, it is single-threaded rescan, we can consider multi-threaded upgrades in the futurehowever, if you load and unload and reload the same wallet, it will be fast once a single rescan has been done (ideal for when the quantum-resistant encryption is implemented)
functions that require a wallet (
getbalance, etc), will fail gracefullysince this is complete, we can now work on full encryption using
dm-crypton linux, andveracrypton mac/windowsAdds runtime wallet management via two new RPC commands. Supports single wallet at a time with secure memory wiping for Zcash/Zclassic shielded transaction types (Sprout and Sapling z-addresses).
loadwallet "filename"unloadwalletz_sendmany,z_shieldcoinbase,z_mergetoaddress)memory_cleanse():vMasterKey)Implementation
CBasicKeyStore::CleanupKeys()- Clears all key maps (transparent, Sprout, Sapling)CCryptoKeyStore::CleanupKeys()- Wipes encrypted key material before clearingCWallet::CleanupForUnload()- Clears wallet state (transactions, nullifiers, metadata, master keys)Pattern follows existing
pre_wallet_load()/post_wallet_load()inzcbenchmarks.cpp.