Skip to content

Commit dcf52da

Browse files
committed
feat: Update wallet generation support for new chains (XLM, ADA, XRP), modify existing chain configurations, and enhance README documentation
1 parent 7accffa commit dcf52da

15 files changed

Lines changed: 1832 additions & 106 deletions

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
.DS_Store
22
.vscode
33
.env
4+
_/
45
bun.lock
56
cw-output.csv
67
node_modules/
7-
TODO.md
8+
npm-debug.log

README.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,20 @@ $ yarn global add @yerofey/cryptowallet-cli
4141
$ bun add -g @yerofey/cryptowallet-cli
4242
```
4343

44+
## Install (on a server)
45+
46+
> Recommended for generating a wallet with long prefixes/suffixes or generating a lot of wallets at once
47+
48+
You can rent a VDS/VPS on [aeza.net](https://aeza.net/?ref=439099) for an hour or a day and run [this](https://gist.github.com/yerofey/c1cbf80bdfacfad668f53d595f890c44) one-liner to install `cw` tool:
49+
50+
```bash
51+
# install `cw` tool on a server with all dependencies
52+
bash <(curl -sL https://gist.githubusercontent.com/yerofey/c1cbf80bdfacfad668f53d595f890c44/raw/376e310ed260ca54fec83b04d4d78d7587b83d78/install-cw.sh)
53+
54+
# run `cw` tool
55+
cw
56+
```
57+
4458
## Usage
4559

4660
```bash
@@ -125,11 +139,13 @@ $ cw -l
125139
- `EVM` (Ethereum, Base, or any EVM L1/L2/L3, etc.) **default**
126140
- `BTC` (Bitcoin) [legacy, segwit, bech32, taproot]
127141
- `ETH` (Ethereum)
142+
- `XRP` (Ripple) **Beta**
143+
- `BNB` (BNB) [BEP2, BEP20, ERC20]
128144
- `SOL` (Solana)
129-
- `BNB` (Binance Coin) [BEP2, BEP20, ERC20]
130-
- `BSC` (Binance Smart Chain)
145+
- `ADA` (Cardano)
131146
- `DOGE` (Dogecoin) [legacy, segwit, bech32]
132147
- `TRX` (Tron)
148+
- `XLM` (Stellar)
133149
- `SUI` (Sui)
134150
- `TON` (The Open Network) [W5, V2-V5, simple]
135151
- `LTC` (Litecoin) [legacy, segwit, bech32]
@@ -252,9 +268,11 @@ Each chain JSON file is structured to provide essential information about the bl
252268
- `network`: The type of network or protocol the blockchain follows (e.g., EVM for Ethereum-compatible chains).
253269
- `startsWith`: The set of characters that the wallet address typically starts with.
254270
- `prefixTest`: A regular expression pattern that tests for valid characters that can appear in the prefix of a wallet address.
271+
- `rareSymbols`: (Optional) A regular expression pattern that tests for rare symbols that can appear in the wallet address.
255272
- `apps`: An array of supported wallet applications that can be used with the generated addresses.
256273
- `flags`: An array of supported features for the wallet generation. Common flags include `m` for mnemonic support, `n` for generating multiple wallets, `p` for prefix support, and `s` for suffix support.
257274
- `formats`: (Optional) An object defining multiple wallet formats if the blockchain supports more than one format. Each format should specify its unique properties.
275+
- `beta`: (Optional) A boolean value indicating if the chain is in beta testing. If set to `true`, the chain will be marked as beta in the list of supported chains.
258276

259277
By following this structure, the `cw` tool can understand and support wallet generation for a wide array of blockchains.
260278

cli.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ const isDev = process.env.NODE_ENV === 'development';
2626

2727
// check if there is a need for multi-threading
2828
const isMultiThreaded =
29+
!options.mnemonic ||
2930
options.prefix ||
3031
options.suffix ||
3132
options['suffix-sensitive'] ||

0 commit comments

Comments
 (0)