@j0nnyboi/arweave-cost
TypeScript icon, indicating that this package has built-in type declarations

2.0.1 • Public • Published

Arweave cost

Calculates the cost of uploading files to Arweave using arbundles.

Installation

npm i @metaplex/arweave-cost

Use

const { calculate } = require('@metaplex/arweave-cost');

const cost = await calculate([fileSizeInBytes0, fileSizeInBytes1, ...]);

console.log(`The cost to store the files is ${cost.solana} SOL or ${cost.arweave} AR`);

Methods

calculate

Returns an object of storage cost information.

const fileSizes = [2000, 32934]; // in bytes
const result = await calculate(fileSizes);
console.log(result)

// {
//   arweave: 0.0009903326292,         // The cost to store the files in AR
//   solana: 0.00025095896478276764,   // The cost in to store the files in SOL
//   arweavePrice: 52.41,              // Current AR price
//   solanaPrice: 206.82,              // Current SOL price
//   exchangeRate: 0.2534087612416594, // AR/SOL rate
//   totalBytes: 2024000,              // Total bytes calculated
//   byteCost: 861158808,              // Cost of storage in winstons without fees
//   fee: 129173821.19999999           // Total storage fees in winstons
// }

fetchArweaveStorageCost

Retreives the current storage cost (in Winstons) of a given number of bytes on the Arweave network (without fees). Values are cached internally for 15 seconds.

const arweaveCost = await fetchArweaveStorageCost(bytes);
console.log(arweaveCost); // 1798603

fetchPrices

Retreives the current price of AR and SOL from coingecko API. Values are cached internally for 15 seconds.

// Fetch the current arweave and solana prices
const rates = await fetchTokenPrices();
console.log(rates.solana.usd, rates.arweave.usd); // 206.4  52.29

Development

Running tests

npm test

Debugging

This module uses the debug module. To enable debug logs, set the DEBUG environment variable:

DEBUG=arweave-cost npm test

Readme

Keywords

none

Package Sidebar

Install

npm i @j0nnyboi/arweave-cost

Weekly Downloads

2

Version

2.0.1

License

Apache-2.0

Unpacked Size

31.1 kB

Total Files

7

Last publish

Collaborators

  • j0nnyboi