https://github.com/likecoin/arweave-uploader
Batch upload files from local or IPFS to Arweave
https://github.com/likecoin/arweave-uploader
arweave ipfs iscn likecoin
Last synced: about 2 months ago
JSON representation
Batch upload files from local or IPFS to Arweave
- Host: GitHub
- URL: https://github.com/likecoin/arweave-uploader
- Owner: likecoin
- License: gpl-3.0
- Created: 2021-10-18T02:10:36.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-03-05T13:34:14.000Z (over 4 years ago)
- Last Synced: 2025-02-16T14:53:22.513Z (over 1 year ago)
- Topics: arweave, ipfs, iscn, likecoin
- Language: JavaScript
- Homepage:
- Size: 579 KB
- Stars: 0
- Watchers: 5
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Arweave Uploader
Batch upload your files to Arweave.
## Installation
```bash
npm install
```
or
```bash
yarn install
```
## Configuration
Name your Arweave key as `arweave-key.json` and put it in the root directory.
## Usage
1. Store the files to be uploaded in `./upload/` folder.
2. Prepare the CSV file with `filename` and `ipfsHash` fields:
The `filename` field should list the filenames match files in `./upload/` folder.
3. Launch the program:
```bash
node index.js [list.csv]
```
The resulting Arweave hash will be show on both console and `./output-list.csv`.
Note that both `filename` and `ipfsHash` fields are optinal, but either one should be provided for each row of data:
1. Program will check and update the `ipfsHash` if local file is found.
2. Program will get file from IPFS and store in `./upload/` folder if local file isn't found.
3. Program will skip uploading the file if file with the same `ipfsHash` tag can already be found in Arweave.
Note that the mime type of text-based formats like `.txt`, `.csv`, `.svg`, etc is difficult to detect. Program will not add a mime tag for files loaded from IPFS when uploading.
## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
## License
[GNU GPLv3](https://choosealicense.com/licenses/gpl-3.0/)