Skip to content

Commit

Permalink
chore: update readme; fix binary name
Browse files Browse the repository at this point in the history
  • Loading branch information
ndavd committed Jan 7, 2025
1 parent 5aa32a4 commit da1335f
Show file tree
Hide file tree
Showing 3 changed files with 114 additions and 3 deletions.
112 changes: 112 additions & 0 deletions .github/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,113 @@
# 📒📈 Book of Profits

`book-of-profits` is a multichain portfolio tracker in
[REPL](https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop) form.

It is private - All data is locally encrypted.

It features minimal and privacy preserving data fetching.\
External requests made by `book-of-profits` can be separated into two
categories:

- RPC calls: Used to query the blockchain
- Dexscreener API calls: Used to get the current price of tokens

If you're not content with the performance or privacy of the default RPC, you
can change it to one of your liking.

> [!NOTE]
> It is highly recommended to use custom RPCs, since the public ones often have
> severe rate limits.
See [features](https://github.com/bop/#features).\
See [supported blockchains](https://github.com/bop/#supported-blockchains).

## Installation

### Download the pre-built binaries

Pre-built binaries for Windows, Linux, MacOS can be found in the
[releases](https://github.com/ndavd/bop/releases) page.

### Install from crates.io

Make sure you have [cargo](https://doc.rust-lang.org/stable/cargo/) installed.

```
cargo install book-of-profits
```

### Install from source

```
git clone https://github.com/ndavd/bop
cd bop
cargo install --path .
```

### Uninstall

```
cargo uninstall book-of-profits
```

## Features

``: Feature is supported on all chains\
`⚠️`: Feature is partially supported\
``: Feature is planned but not supported yet

| Support | Feature |
| ------------------------- | ------------------------------------------------------------------------------------ |
| `` | Password encryption |
| `` | Change chain RPC |
| `` | Enable or disable chain |
| `` | Add account to track and optionally set an alias |
| `` | Manually add new token just by specifying chain and address |
| `` | Show global balance |
| `` | Export raw configuration in plaintext |
| `⚠️` Not supported in EVM | Scan for token holdings in account and automatically add them |
| `` | Show balance by chain |
| `` | Show balance by account |
| `` | Automatically prune low liquidity tokens |
| `` | Cache balances in order to display them in other views without refetching everything |
| `` | Display spinner when loading |
| `` | Show total balance of a single token |

## Supported Blockchains

### Solana

- Solana

### Ton

- Ton

### EVM

- Ethereum
- Base
- BSC
- Arbitrum
- Avalanche
- Polygon
- zkSync
- Cronos
- Fantom
- Optimism
- Linea
- Mantle
- Metis
- Core
- Scroll
- IoTeX
- Celo
- PulseChain
- Polygon zkEVM
- Telos

## Contributing

Contributions are very welcome! Those being pull requests, issues or feature
requests.
2 changes: 1 addition & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
tags:
- '*'
env:
binary: bop
binary: book-of-profits
jobs:
# Publish on crates.io
publish-to-crates:
Expand Down
3 changes: 1 addition & 2 deletions src/repl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ use crate::{

static DATA_FILE: &str = ".bop-data";
static BOOK_OF_PROFITS: &str = "Book of Profits";
static BOOK_OF_PROFITS_SHORT: &str = "BoP";

static CHAIN_TYPES: &[ChainType; 3] = &[ChainType::Evm, ChainType::Solana, ChainType::Ton];

Expand Down Expand Up @@ -207,7 +206,7 @@ config - Export BoP config in plain text
0 => {
let available_chain_types = format!(
"{} currently supports the following chain-types: {}, {}, {}",
BOOK_OF_PROFITS_SHORT.to_colored(),
BOOK_OF_PROFITS.to_colored(),
ChainType::Evm.to_string().as_str().to_colored(),
ChainType::Solana.to_string().as_str().to_colored(),
ChainType::Ton.to_string().as_str().to_colored()
Expand Down

0 comments on commit da1335f

Please sign in to comment.