Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

arbundles

Package Overview
Dependencies
Maintainers
1
Versions
90
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

arbundles

Arweave bundling library

  • 0.1.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
39K
increased by9.26%
Maintainers
1
Weekly downloads
 
Created
Source

Arweave Bundles

A library for creating, editing, reading and verifying bundles.

See ANS-104 for more details.

Installing the library

Using npm:

npm install ans104

Using yarn:

yarn add ans104

Creating bundles

import { bundleAndSignData } from "ans104";

const dataItems = [
  { data: "some data" },
  { data: "some other data" },
];

const signer = new ArweaveSigner(jwk);

const bundle = bundleAndSignData(dataItems, jwk);

It's as simple as that! All the binary encoding is handled for you.

Creating and using a DataItem

import { createData } from "ans104";

const data = { data: "some data" };

const signer = new ArweaveSigner(jwk);

const dataItem = createData(data, signer);

// Get owner in base64url encoded string
const owner = dataItem.owner;

// Sign a single DataItem 
await dataItem.sign(jwk);

assert(owner == jwk.n);

Get a DataItem in a bundle

const bundle = bundleAndSignData(dataItems, jwk);

// Get by index
const byIndex = bundle.get(0);

// Get by transaction id
const byId = bundle.get("hKMMPNh_emBf8v_at1tFzNYACisyMQNcKzeeE1QE9p8");

// Get all DataItems
const all = bundle.items;

Submit a transaction

const bundle = bundleAndSignData(dataItems, jwk);

// Convert bundle to Arweave transaction
const tx = await bundle.toTransaction(arweave, jwk);

// Add some more tags after creation.
tx.addTag('MyTag', 'value1');
tx.addTag('MyTag', 'value2');

await arweave.transactions.sign(tx);
await arweave.transactions.post(tx);

Parse a bundle binary

import { unbundleData } from "ans104";

const data = await arweave.transactions.getData("hKMMPNh_emBf8v_at1tFzNYACisyMQNcKzeeE1QE9p8");

const bundle = new Bundle(data);

File API

The file API stores the items in the filesystem meaning you can bundle more items without hitting the NodeJS memory limit

FAQs

Package last updated on 06 Sep 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc