Abelian CLI Wallet (MLP) User Manual
This document provides comprehensive instructions for installing and configuring the Abelian Multi-Layer Privacy (MLP) CLI Wallet (abewalletmlp
) - Your Gateway to Enhanced Privacy and Flexibility!
Please refer to the Abelian Applications Basics to understand the software architecture first. The MLP wallet represents the next generation of Abelian wallets with advanced privacy features and simplified management.
Visit the Official Abelian Download Page to download the software.
All operations are conducted through the Command Line Interface (CLI). On Linux or macOS systems, access the Terminal; on Windows, launch PowerShell or your preferred shell application.
Introduction
With the increasing popularity of digital currencies, the demand for privacy protection for different purposes among users is also growing. To meet this demand, we have specifically developed the Abelian Multi-Layer Privacy Wallet (CLI version).
Why Should You Upgrade?
- Simplified Recovery: Say goodbye to the "maximum recoverable number of wallets" requirement - our new fully-private wallet is user-friendly and intuitive
- Enhanced Security: Existing CLI users with ABEL tokens in legacy wallets are strongly encouraged to create a new fully-private wallet and transfer their assets
- Flexible Options: Miners and those who prioritize transaction speed and cost-effectiveness can opt for a semi-private wallet
This wallet adopts advanced multi-layer privacy technology, offering unprecedented control over your transaction privacy and security. It features two innovative types of wallet addresses:
Address Types
1. Fully-Private Address:
- Transactions are encrypted and untraceable
- Maximum security and anonymity
- Higher transaction fees
- Longer processing times
2. Semi-Private Address
- Bitcoin-like privacy level
- Publicly visible coin values and traceable transactions
- Lower fees and increased throughput
- Faster transaction processing
With abewalletmlp, enjoy enhanced privacy, faster transactions, lower gas fees, and the flexibility to manage your privacy on your terms.
- Flexible Privacy Levels: Choose between Fully-Private and Semi-Private wallet addresses based on your privacy needs.
- Simplified Recovery: Recover all wallet addresses with mnemonic words, no more required.
- Seamless Transfers: Transfer ABELs between Fully-Private and Semi-Private Wallets effortlessly.
Prerequisites
System Requirements
- Storage: 160GB+ (for Abelian node) or minimal (for remote connection)
- RAM: 8GB+ (with Abelian node) or 2GB+ (remote only)
- Network: Stable Internet connection
Required Components
- Abelian Node (
abec
) - Package abec-v2.0.2 - MLP CLI Wallet (
abewalletmlp
) - Package abewalletmlp-v2.0.0 - Wallet Control Tool (
abewalletmlpctl
) - Included with wallet
1. Installation
Download and Extract
Download the compressed files for your platform:
abec-linux-amd64-v2.0.2.tar.gz
(Abelian node)abewalletmlp-linux-amd64-v2.0.0.tar.gz
(CLI MLP wallet)
Extract and place them under the ~/abel/
folder:
~/abel/abec-linux-amd64-v2.0.2/
~/abel/abewalletmlp-linux-amd64-v2.0.0/
Initial Setup
Create abec
configuration folder:
Navigate to ~/abel/abec-linux-amd64-v2.0.2/
and run:
.\abec.exe
sh start_abec.sh
Press Ctrl+C
to stop. This creates the configuration folder:
%USERPROFILE%\AppData\Local\Abec
~/Library/Application Support/Abec
~/.abec
Create abewalletmlp
configuration folder:
Navigate to ~/abel/abewalletmlp-linux-amd64-v2.0.0/
and run:
$ .\abewalletmlp.exe --create
$ sh start_abewalletmlp.sh --create
Press Ctrl+C
to stop. This creates the wallet configuration folder:
%USERPROFILE%\AppData\Local\Abewallet
~/Library/Application Support/Abewallet
~/.abewallet
Platform-Specific Notes
- macOS/Linux: You may need to run
chmod 777 xxx
if you get "xxx: Permission denied" - macOS (M-chips/ARM64): If you see "'xxx' is damaged and can't be opened", run:
$ xattr -d com.apple.quarantine path/to/xxx
- macOS: If you see "'xxx' cannot be opened because the developer cannot be verified", go to System Preferences → Security & Privacy → General and click Allow anyway
2. Create Wallet
Navigate to ~/abel/abewalletmlp-linux-amd64-v2.0.0
and run:
$ .\abewalletmlp.exe --create
$ sh start_abewalletmlp.sh --create
Example wallet creation process:
Enter the private passphrase for your new wallet:
Confirm passphrase:
Enter the public passphrase for your new wallet:
Confirm passphrase:
NOTE: Use the --walletpass option to configure your public passphrase.
Do you have an existing wallet seed you want to use? (n/no/y/yes) [no]: no
Your wallet's generation seed is:
a6c5b1d91853571b96c40136259c3ec56188cc4204bbc326fc63559e7a78917162ebd5755ac1368a5f759202bbfb65f902f3967bdc4b57f893a249045e570614
Your wallet's crypto version is: 1
Your wallet's mnemonic list is:
finger,bronze,trophy,split,jar,enough,recipe,silk,budget,dust,pride,crystal,cabbage,tunnel,anxiety,kite,success,someone,frame,they,cheese,interest,host,tissue
IMPORTANT: Keep the version and seed in a safe place as you
will NOT be able to restore your wallet without it.
Please keep in mind that anyone who has access
to the seed can also restore your wallet thereby
giving them access to all your funds, so it is
imperative that you keep it in a secure location.
Once you have stored the seed in a safe and secure location, enter "OK" to continue: OK
Creating the wallet...
2024-08-12 13:05:58.553 [INF] WLLT: Opened wallet
The wallet has been created successfully.
Critical Security Information
Save your mnemonic words in multiple secure locations Record the wallet seed for additional security Remember both passphrases (private and public) No maximum address limit - simplified recovery process
3. Configuration
3.1 Configure abec
Edit the abec.conf
file in the abec
configuration folder:
Basic RPC configuration:
# RPC server settings
rpcuser=your_username
rpcpass=your_secure_password
Network configuration:
# Public IP broadcasting (optional)
externalip=1.2.3.4
3.2 Configure abewalletmlp
Copy the RPC credentials from abec.conf
to abewallet.conf
:
# RPC connection to abec
abecrpcuser=[rpcuser in abec.conf]
abecrpcpass=[rpcpass in abec.conf]
3.3 Remote Configuration (Optional)
If running abec
and abewalletmlp
on different machines:
In abec.conf
:
# Listen on all interfaces
rpclisten=0.0.0.0:8667
In abewallet.conf
:
# Connect to remote abec
rpcconnect=[abec-ip]:8667
cafile=~/abel/rpc.cert
Certificate setup:
- Delete
rpc.cert
andrpc.key
fromabec
configuration folder - Restart
abec
to generate new certificates - Copy
rpc.cert
to the wallet machine at~/abel/rpc.cert
4. Running the Wallet
4.1 Start the Abelian Node
Navigate to ~/abel/abec-linux-amd64-v2.0.2/
and run:
$ .\abec.exe
$ sh start_abec.sh
Wait for blockchain synchronization to complete.
4.2 Start MLP Wallet
Navigate to ~/abel/abewalletlegacy-linux-amd64-v1.0.0/
and run:
$ .\abewalletmlp.exe --walletpass=[your public passphrase]
$ sh start_abewalletmlp.sh --walletpass=[your public passphrase]
5. Wallet Operations
5.1 Using abewalletmlpctl
The abewalletmlpctl
tool allows you to interact with your running wallet:
5.2 Check Balance
$ .\abewalletmlpctl.exe --rpcuser=[username] --rpcpass=[password] getbalancesabe
$ sh start_abewalletmlpctl.sh --rpcuser=[username] --rpcpass=[password] getbalancesabe
5.3 Unlock
Before sending a transaction or generating a new address, you need to unlock your wallet first:
$ .\abewalletmlpctl.exe --rpcuser=[username] --rpcpass=[password] walletunlock [private passphrase] [timeout]
$ sh start_abewalletmlpctl.sh --rpcuser=[username] --rpcpass=[password] walletunlock [private passphrase] [timeout]
The unit of timeout is in seconds.
5.4 Wallet Addresses
Generate Fully-Private Address:
$ sh start_abewalletmlpctl.sh --rpcuser=[username] --rpcpass=[password] generateaddressabe 1 1
Generate Pseudonymous Address:
$ sh start_abewalletmlpctl.sh --rpcuser=[username] --rpcpass=[password] generateaddressabe 1 0
Generate Multiple Addresses:
# Generate 5 fully-private addresses
$ sh start_abewalletmlpctl.sh --rpcuser=[username] --rpcpass=[password] generateaddressabe 5 1
# Generate 3 pseudonymous addresses
$ sh start_abewalletmlpctl.sh --rpcuser=[username] --rpcpass=[password] generateaddressabe 3 0
5.5 Send Transactions
As an Abelian wallet address is long, it can be cumbersome to paste a wallet address directly into the command line. Instead, you can create a file called arg1
in the configuration folder of abec
and add the receiver's address and amount into it. The format is as follows:
[
{
"address":"addr1",
"amount":700000000
},
{
"address":"addr2",
"amount":500000000
}
]
Note that the unit of amount is Neutrino (1 ABEL = 10,000,000 Neutrino).
Send ABEL to an address:
$ .\abewalletmlpctl --rpcuser=[username] --rpcpass=[password] sendtoaddressesabe -
$ sh start_abewalletmlpctl.sh --rpcuser=[username] --rpcpass=[password] sendtoaddressesabe -
Example:
$ cat /Users/username/Library/Application Support/Abec/arg1
[{"address":"addr1", "amount":700000000},{"address":"addr2", "amount":500000000}]
$ sh start_abewalletmlpctl.sh --rpcuser=[username] --rpcpass=[password] sendtoaddressesabe -
This command sends 70 ABEL to addr1
and 50 ABEL to addr2
.
6. Wallet Recovery
6.1 Preparation for Recovery
Before recovering a wallet, prepare the following information:
- Mnemonic word list (24 words)
- Crypto version (usually 1)
- Current wallet balance for verification
- Backup of configuration folder (as safety measure)
Simplified Recovery
Unlike legacy wallets, MLP wallets don't require tracking maximum address numbers - recovery is much simpler!
6.2 Recovery Process
Stop the wallet and navigate to configuration directory and remove
logs/
andmainnet/
foldersStart wallet creation:
$ .\abewalletmlp.exe --create
$ sh start_abewalletmlp.sh --create
- Follow the recovery prompts:
Example:
$ sh start_abewalletmlp.sh --create
Enter the private passphrase for your new wallet:
Confirm passphrase:
Enter the public passphrase for your new wallet:
Confirm passphrase:
NOTE: Use the --walletpass option to configure your public passphrase.
Do you have an existing wallet seed you want to use? (n/no/y/yes) [no]: yes
Enter the crypto version:1
Enter existing wallet mnemonic: finger,bronze,trophy,split,jar,enough,recipe,silk,budget,dust,pride,crystal,cabbage,tunnel,anxiety,kite,success,someone,frame,they,cheese,interest,host,tissue
Creating the wallet...
2024-08-12 16:42:40.047 [INF] WLLT: Opened wallet
The wallet has been created successfully.
- Configure and synchronize the wallet with
abec
- Wait for synchronization to complete
- Check balance matches expected amount
7. Migration from Legacy Wallet
Migration Costs
This migration process creates multiple transactions, requiring transaction fees to be paid.
The following guide assumes you're migrating from abewalletlegacy version v1.0.0 and have reviewed the Legacy Wallet Manual.
7.1 Migration Setup
This example assumes operation on two computers (PC1
and PC2
):
PC1 (Source - Legacy Wallet):
- Ensure
abewalletlegacy
is running and synchronized - Backup configuration folder to secure location
- Record current balance and addresses
PC2 (Destination - MLP Wallet):
- Install and create new MLP wallet
- Generate addresses as migration destinations
- Record new MLP addresses for transfer
7.2 Migration Process
Step 1: Prepare destination addresses
On PC2, generate multiple addresses for enhanced privacy:
# Generate 5 fully-private addresses
$ sh start_abewalletmlpctl.sh --rpcuser=[username] --rpcpass=[password] generateaddressabe 5 1
Step 2: Transfer funds from legacy wallet
On PC1, send funds to new MLP addresses:
# Send from legacy wallet to MLP address
$ ./start_abewalletlegacyctl.sh --rpcuser=[username] --rpcpass=[password] sendtoaddressabe [mlp_address] [amount]
Step 3: Verify migration
On PC2, confirm receipt of funds:
$ sh start_abewalletmlpctl.sh --rpcuser=[username] --rpcpass=[password] getbalancesabe
Step 4: Complete migration
Once all funds are successfully transferred:
- Verify total balance matches original amount (minus fees)
- Test sending from new MLP wallet
- Securely store new MLP wallet backup
- Decommission legacy wallet after confirmation
8. Upgrade to Latest Version
8.1 Preparation
Before upgrading, prepare the same information as for wallet recovery:
- Wallet mnemonic words
- Current balance
- Backup configuration folder
8.2 Upgrade Process
- Stop old version of both
abec
andabewalletmlp
- Download and extract new versions
- Run new
abec
(configuration is preserved) - Delete wallet configuration
logs/
andmainnet/
folders - Recover wallet using new version (follow recovery steps above)
9. Troubleshooting
Common Issues
Wallet won't start:
- Verify public passphrase is correct
- Check configuration file syntax
- Review log files for errors
Address generation fails:
- Ensure wallet is unlocked
- Verify RPC connection is active
- Check sufficient system resources
Transaction failures:
- Confirm sufficient balance for fees
- Verify recipient address format
- Check network synchronization status
Recovery issues:
- Ensure mnemonic words are correct
- Verify word order and spelling
- Check for extra spaces or characters
Log Files
Check detailed logs for troubleshooting:
%USERPROFILE%\AppData\Local\Abewallet\logs\
~/Library/Application Support/Abewallet\logs\
~/.abewallet/logs/
Security Best Practices
Wallet Security
- Backup mnemonic words in multiple secure locations
- Use strong passphrases for wallet encryption
- Regular backups of configuration folder
- Test recovery process periodically
Privacy Best Practices
- Use multiple addresses for different purposes
- Mix privacy levels strategically
- Avoid address reuse when possible
- Monitor transaction patterns
Operational Security
- Keep software updated to latest versions
- Secure RPC connections for remote access
- Monitor system resources during operation
- Regular security audits of setup
Next Steps
New Users:
- Start with pseudonymous addresses for learning
- Join the Discord community for support
- Practice with small amounts before large transactions
Migrating Users:
- Plan migration during low-activity periods
- Verify all transfers before decommissioning legacy wallet
- Update any automated systems with new addresses
Advanced Users:
- Explore privacy mixing strategies
- Implement automated backup procedures
- Consider contributing to network development
Enjoin the enhanced privacy and flexibility of Abelian MLP feature! 🚀