1.0.0 • Published 10 months ago

@permaweb/arx v1.0.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
10 months ago

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 SymbolToken Option Name
ARarweave
ETHethereum
POLmatic
SOLsolana

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