# walletdrop

> [WalletDrop Network Architecture](https://walletdrop.notion.site/WalletDrop-Network-Architecture-227c854718bf43da8a26c37adfc15c62?pvs=4)

Latest version **2.0.1** (published 2023-06-18) · ISC license · 0 weekly downloads

## Install

```sh
npm install walletdrop
pnpm add walletdrop
yarn add walletdrop
bun add walletdrop
```

Provides the command `walletdrop`.

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.1 |
| Published | 2023-06-18 |
| First published | 2023-06-18 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 19 |
| Unpacked size | 51.8 KB |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| Maintainers | 0xfreddy |

## Links

- npm: https://www.npmjs.com/package/walletdrop
- npm.io page: https://npm.io/package/walletdrop

## Dependencies (19)

- [ora](https://npm.io/package/ora.md) ^6.3.1
- [open](https://npm.io/package/open.md) ^9.1.0
- [axios](https://npm.io/package/axios.md) ^1.4.0
- [chalk](https://npm.io/package/chalk.md) ^5.2.0
- [ethers](https://npm.io/package/ethers.md) ^6.6.0
- [libp2p](https://npm.io/package/libp2p.md) ^0.45.9
- [express](https://npm.io/package/express.md) ^4.18.2
- [it-pipe](https://npm.io/package/it-pipe.md) ^3.0.1
- [commander](https://npm.io/package/commander.md) ^11.0.0
- [multiformats](https://npm.io/package/multiformats.md) ^12.0.1
- [@libp2p/mplex](https://npm.io/package/@libp2p/mplex.md) ^8.0.3
- [@libp2p/crypto](https://npm.io/package/@libp2p/crypto.md) ^1.0.17
- [@libp2p/kad-dht](https://npm.io/package/@libp2p/kad-dht.md) ^9.3.6
- [@libp2p/bootstrap](https://npm.io/package/@libp2p/bootstrap.md) ^8.0.0
- [@libp2p/websockets](https://npm.io/package/@libp2p/websockets.md) ^6.0.3
- [@chainsafe/libp2p-noise](https://npm.io/package/@chainsafe/libp2p-noise.md) ^12.0.1
- [@chainsafe/libp2p-yamux](https://npm.io/package/@chainsafe/libp2p-yamux.md) ^4.0.2
- [@libp2p/peer-id-factory](https://npm.io/package/@libp2p/peer-id-factory.md) ^2.0.3
- [@multiformats/multiaddr](https://npm.io/package/@multiformats/multiaddr.md) ^12.1.3

## Recent versions

- 2.0.1 (latest) — 2023-06-18
- 2.0.0 — 2023-06-18
- 1.0.4 — 2023-06-18
- 1.0.3 — 2023-06-18
- 1.0.2 — 2023-06-18
- 1.0.1 — 2023-06-18
- 1.0.0 — 2023-06-18

## README

# WalletDrop Documentation

[WalletDrop Network Architecture](https://walletdrop.notion.site/WalletDrop-Network-Architecture-227c854718bf43da8a26c37adfc15c62?pvs=4)

WalletDrop is a versatile and powerful CLI tool that revolutionizes file sharing. Our application provides a seamless, secure, and instant method to share files directly to wallet addresses and ENS. Built on the robust Libp2p platform, WalletDrop stands out with its decentralized approach to file transfer. The tool's user-friendly interface ensures a smooth experience for both installation and usage.

## Installation:

1. Ensure that you have Node.js installed on your machine. WalletDrop is a Node.js application, and thus requires Node.js to be installed first. You can download Node.js from the official website: **[https://nodejs.org/](https://nodejs.org/)**
2. Install WalletDrop globally on your machine by running the following command in your terminal: (The **`-g`** flag is used to install the package globally, which allows you to run WalletDrop from anywhere in your terminal)

```bash
npm install -g walletdrop
```

1. Check WalletDrop installation on your machine by running the following command in your terminal: 

```bash
walletdrop --version
```

1. To use WalletDrop, simply run the command **`walletdrop`** followed by any options or arguments as needed. If you need help with the commands, you can always type **`walletdrop --help`** to get a list of commands and how to use them.

## Usage

### 1. Logging In:

First, you need to log in using your wallet account. Run the following command:

```bash
walletdrop login
```

Once this command is executed, it will open a new browser tab. In this tab, you'll need to select your wallet and sign a message to confirm your identity. You are now logged in to WalletDrop via the CLI.

### 2. Receiving Files:

To start listening for incoming files, use the following command:

```bash
walletdrop receive
```

This will make your wallet listen for incoming files. When a file is received, you'll get a notification along with the file details. 

<aside>
💡 By default, WalletDrop saves the received files in “walletdrop” directory which you can find on your Home directory

</aside>

### 3. Sending Files:

Sending files requires you to be present in the directory where the file is located. Use the **`send`** command, followed by the file name (with its proper extension) and the recipient's wallet address or ENS. Here's how you can do this:

```bash
walletdrop send <filename.extension> <Recipient_Wallet_Address>
```

Replace **`<filename.extension>`** with the name of the file you want to send (don't forget to include the file extension), and **`<Recipient_Wallet_Address>`** with the wallet address or ENS of the person you want to send the file to.

<aside>
💡 **Important Note**: Before you can send a file successfully, the recipient must be prepared with **`walletdrop receive`** command in their terminal. Make sure they've run this command before you attempt to send the file.

</aside>

For example, if you want to send a file named **`sample.txt`** to a wallet address **`0x1234abcd`**, you would run:

```bash
walletdrop send sample.txt 0x1234abcd

//OR

walletdrop send sample.txt freddy.eth
```

If the file is sent successfully, you'll see a confirmation message.

---
_Source: https://npm.io/package/walletdrop · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
