README.md 2.4 K raw
1
# Walletfetch
2
3
![cover](https://files.stevedylan.dev/walletfetch.png)
4
5
Like neofetch but for your wallet
6
7
## About
8
9
I used this small project as a way to get more experience with Rust, so if things look weird, that's why lol. Overall it was a lot of fun, and I enjoyed using AI as a learning resource only and writing the code myself (check out [agents.md](/agents.md)).
10
11
## Installation
12
13
For the time being you can install `walletfetch` by building from source, which is actually pretty easy. Just follow the steps below:
14
15
1. Make sure you have [Rust installed](https://www.rust-lang.org/tools/install)
16
17
```bash
18
cargo --version
19
```
20
21
2. Clone the repo and `cd` into it
22
23
```bash
24
git clone https://github.com/stevedylandev/walletfetch
25
cd walletfetch
26
```
27
28
3. Install locally
29
30
```bash
31
cargo install --path .
32
```
33
34
## Usage
35
36
To start, run the `walletfetch` command followed by an ENS or address
37
38
```bash
39
walletfetch vitalik.eth
40
```
41
42
This will create a default config file at `~/.config/walletfetch/config.toml`. Inside that config file you can configure RPC URLs for different chains as well as any tokens you want to include. The format for main balances is as follows: `networks.chain_id`, followed by the `name` and `rpc_url`.
43
44
```toml
45
[networks.1]
46
name = "Mainnet"
47
rpc_url = "https://eth.drpc.org"
48
```
49
50
For tokens, follow the same pattern as above but add `.tokens` to the header, then fill in the details such as the name, `address` and `decimals`
51
52
```toml
53
[networks.1.tokens]
54
USDC = { address = "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", decimals = 6 }
55
```
56
57
You can also designate a default `address` at the top so you can just run `walletfetch` without any arguments. Check out the example config below:
58
59
```toml
60
address = "stevedylandev.eth"
61
62
[networks.1]
63
name = "Mainnet"
64
rpc_url = "https://eth.drpc.org"
65
66
[networks.1.tokens]
67
USDC = { address = "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", decimals = 6 }
68
69
70
[networks.8453]
71
name = "Base"
72
rpc_url = "https://base.drpc.org"
73
74
[networks.8453.tokens]
75
USDC = { address = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", decimals = 6 }
76
lemon3 = { address = "0xe0907762b1d9cdfbe8061ae0cc4a0501fa077421", decimals = 18 }
77
78
[networks.42161]
79
name = "Arbitrum"
80
rpc_url = "https://arbitrum.drpc.org"
81
82
[networks.42161.tokens]
83
USDC = { address = "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", decimals = 6 }
84
```
85
86
## Questions
87
88
Feel free to [reach out](https://stevedylan.dev/links)!