Skip to content

feat: add support for HyperBEAM bundlers#71

Merged
NickJ202 merged 10 commits intopermaweb:alphafrom
xylophonez:feat/hyperbeam-uploader
May 5, 2026
Merged

feat: add support for HyperBEAM bundlers#71
NickJ202 merged 10 commits intopermaweb:alphafrom
xylophonez:feat/hyperbeam-uploader

Conversation

@xylophonez
Copy link
Copy Markdown
Contributor

Adds optional HyperBEAM uploader support alongside the existing Turbo uploader flow.

This introduces a new --uploader-type flag with turbo as the default, preserving current behavior. When --uploader-type hyperbeam is selected, the CLI signs files as ANS-104 data items and POSTs the raw signed item bytes to a configurable HyperBEAM bundler route.

Test with a live HyperBEAM bundler:

permaweb-deploy upload \
  --wallet ./wallet.json \
  --deploy-file ./path/to/file \
  --uploader-type hyperbeam \
  --uploader https://bundler.mudkip.email \
  --no-dedupe

Changes

  • Add --uploader-type turbo|hyperbeam
  • Add --hyperbeam-upload-path, defaulting to /~bundler@1.0/item?codec-device=ans104@1.0
  • Add a HyperBEAM upload client using @dha-team/arbundles
  • Support HyperBEAM uploads in both upload and deploy
  • Add Bundler link output for HyperBEAM uploads
  • Add GitHub Action inputs for HyperBEAM uploader configuration
  • Add README docs and examples
  • Add unit and e2e coverage

Notes

Turbo remains the default uploader and existing Turbo behavior is unchanged.

HyperBEAM uploads currently require an Arweave JWK signer. If a HyperBEAM node requires payment, that payment flow is handled by the node; this client only signs and submits the ANS-104 data item.

Validation

  • npx pnpm@latest build
  • MSW_VERBOSE=false npx pnpm@latest test:run
  • Pre-commit hook passed:
    • eslint --fix --max-warnings=0
    • prettier --write

@NickJ202 NickJ202 merged commit 9cc7c5c into permaweb:alpha May 5, 2026
3 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants