@permaweb/arx
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

arx

arx is a sdk/cli that anyone can use to upload permanent data to Arweave.

Drop-In Replacement

arx is a drop-in replacement for prior bundle service sdk's, most developers will only have to change two lines:

import ARx from '@permaweb/arx'
const arx = new ARx(...)

Quick Start

Install

npm i -g @permaweb/arx

CLI

By default the cli use turbo from ardrive, turbo allows you to purchase upload credits to use to provision your data on Arweave. Currently, turbo supports AR, SOL, ETH, and POL. You can also purchase credits using Fiat at app.ardrive.io.

Token names

Token Symbol Token Option Name
AR arweave
ETH ethereum
POL matic
SOL solana

Get Upload Credits

Purchase credits with AR

arx fund ${TOKEN_QUANTITY} -t ${TOKEN} -w ${KEYFILE or PRIVATE_KEY}

Check Credit Balance

arx balance ${PUBLIC_ADDRESS} -t ${TOKEN} 

Upload single file

arx upload ${FILENAME} -t ${TOKEN} -w ${KEYFILE or PRIVATE_KEY}

Upload Directory

arx upload-dir ${DIRNAME} -t ${TOKEN} -w ${KEYFILE or PRIVATE_KEY} --index-file index.html

Get Credits by Bytes

arx price ${BYTES}

SDK

Setup

import fs from 'node:fs'
import ARx from '@permaweb/arx'

const arx = async () =>
  new ARx({ token: 'arweave', key: JSON.parse(fs.readFileSync("wallet.json", "utf-8")) })

Purchase Credits

async function main() {
    console.log(
        await arx().fund(10 ** 12)
    )
}

main()

Check Credit Balance

async function main() {
    console.log(
        await arx().getBalance("XoyCWBAygZ1MBTCkgGKf22627txBjsLu0m2FtGwQi0k")
    )
}

main()

Upload File

async function main() {
    console.log(
        await arx().upload("myfile.bin", { tags: ... })
    )
}

main()

Upload Directory

async function main() { 
    console.log(
        await arx().uploadFolder("./dist")
    )
}

main()

Get Price

async function main() {
    console.log(
      await arx().getPrice(1024 * 1024)
    )
}

main()

Development

npm install
npm run prod:build

Support

If you run into any usage issues or found a bug, please create an issue at:

Github - https://github.com/permaweb/arx

Resources

Readme

Keywords

none

Package Sidebar

Install

npm i @permaweb/arx

Weekly Downloads

6

Version

1.0.0

License

Apache-2.0

Unpacked Size

1.19 MB

Total Files

372

Last publish

Collaborators

  • permaweb