Beginning with this commit, every MMGen wallet now has a two sets of associated subwallets with “long“ and “short” seeds. MMGen wallets and subwallets are functionally equivalent and externally indistinguishable. This has benefits, especially for real-world security, as well as drawbacks. For more information, see the `mmgen-subwalletgen` help screen: https://github.com/mmgen/mmgen/wiki/subwalletgen-[MMGen-command-help] This patch provides subwallet generation functionality and subseed display utilities. Support for transaction signing and address generation using a subwallet's parent wallet will be added in a forthcoming patch. Examples: # Create a bogus wallet in mnemonic format for testing purposes: $ echo $(yes bee | head -n24) > bogus.mmwords # List the wallet's first five subseed pairs: $ mmgen-tool list_subseeds 1-5 wallet=bogus.mmwords Parent Seed: DF449DA4 (256 bits) Long Subseeds Short Subseeds ------------- -------------- 1L: FC9A8735 1S: 930E1AD5 2L: 62B02F54 2S: DF14AB49 3L: 9E884E99 3S: AD3ABD98 4L: DB595AE1 4S: 3E885EC4 5L: 36D5A0D1 5S: 30D66FF5 # Generate the 5th short (128-bit) subwallet from the wallet: $ mmgen-subwalletgen bogus.mmwords 5S # Same as above, but output subwallet to mnemonic (seed phrase) format: $ mmgen-subwalletgen -o mn bogus.mmwords 5S ... Mnemonic data written to file '30D66FF5[128].mmwords' # View the subwallet's seed phrase: $ cat 30D66FF5[128].mmwords object capture field heart page observe road bond mother loser really army # Generate 10 addresses from the subwallet seed phrase: $ mmgen-addrgen 30D66FF5[128].mmwords 1-10 ... Addresses written to file '30D66FF5[1-10].addrs'
88 lines
2.2 KiB
INI
88 lines
2.2 KiB
INI
# Configuration file for the MMGen suite
|
|
# Everything following a '#' is ignored
|
|
|
|
################
|
|
# User options #
|
|
################
|
|
|
|
# Uncomment to suppress the GPL license prompt:
|
|
# no_license true
|
|
|
|
# Uncomment to enable quieter output:
|
|
# quiet true
|
|
|
|
# Uncomment to disable color output:
|
|
# color false
|
|
|
|
# Uncomment to force 256-color output when 'color' is true:
|
|
# force_256_color true
|
|
|
|
# Uncomment to use regtest mode (this also sets testnet to true):
|
|
# regtest true
|
|
|
|
# Uncomment to use testnet instead of mainnet:
|
|
# testnet true
|
|
|
|
# Set the RPC host (the host the coin daemon is running on):
|
|
# rpc_host localhost
|
|
|
|
# Set the RPC host's port number
|
|
# rpc_port 8332
|
|
|
|
# Uncomment to override 'rpcuser' from coin daemon config file
|
|
# rpc_user myusername
|
|
|
|
# Uncomment to override 'rpcpassword' from coin daemon config file
|
|
# rpc_password mypassword
|
|
|
|
# Uncomment to set the coin daemon datadir
|
|
# daemon_data_dir /path/to/datadir
|
|
|
|
# Set the default hash preset:
|
|
# hash_preset 3
|
|
|
|
# Set the default number of subseeds:
|
|
# subseeds 100
|
|
|
|
# Set the default number of entropy characters to get from user.
|
|
# Must be between 10 and 80.
|
|
# A value of 0 disables user entropy, but this is not recommended:
|
|
# usr_randchars 30
|
|
|
|
# Set the maximum transaction fee for BTC:
|
|
# btc_max_tx_fee 0.003
|
|
|
|
# Set the maximum transaction fee for BCH:
|
|
# bch_max_tx_fee 0.1
|
|
|
|
# Set the maximum transaction fee for LTC:
|
|
# ltc_max_tx_fee 0.3
|
|
|
|
# Set the maximum transaction fee for ETH:
|
|
# eth_max_tx_fee 0.005
|
|
|
|
# Set the transaction fee adjustment factor. Auto-calculated fees are
|
|
# multiplied by this value:
|
|
# tx_fee_adj 1.0
|
|
|
|
# Set the maximum transaction file size:
|
|
# max_tx_file_size 100000
|
|
|
|
# Set the maximum input size - applies both to files and standard input:
|
|
# max_input_size 1048576
|
|
|
|
# Set the Ethereum mainnet name
|
|
# eth_mainnet_chain_name foundation
|
|
|
|
# Set the Ethereum testnet name
|
|
# eth_testnet_chain_name kovan
|
|
|
|
#####################################################################
|
|
# The following options are probably of interest only to developers #
|
|
#####################################################################
|
|
|
|
# Uncomment to display lots of debugging information:
|
|
# debug true
|
|
|
|
# Set the timeout for RPC connections:
|
|
# http_timeout 60
|