A React web application for interacting with the ar.io network.
yarn
cp .env.example .env.local # then fill in a Solana RPC endpoint
yarn devyarn dev reads .env.local and targets Solana devnet. .env* is gitignored
(RPC URLs carry provider auth tokens), so a fresh clone has no .env.local —
copy .env.example, which documents every variable and which ones are optional.
For localnet, put the same settings in .env.localnet and run:
yarn dev:localnetyarn buildyarn testPushing to main deploys the application to the network-portal.app domain via
Firebase Hosting and, permanently, to Arweave via the
ar-io-deploy action. Pushing to
develop deploys staging to GitHub Pages. A pull request preview workflow
exists but is disabled, so pull requests are not deployed anywhere before
merge.
Developers can deploy their own version to Arweave with yarn deploy, which
builds and then runs ario-deploy from
@ar.io/deploy. It needs Node.js 20.18 or later and
three environment variables:
export VITE_ARNS_NAME="ARNS_NAME"
export DEPLOY_KEY="BASE64_ENCODED_ARWEAVE_WALLET_KEYFILE"
export ARNS_KEY="BASE58_SOLANA_SECRET_KEY"Replace the following:
ARNS_NAMEwith the ArNS name to deploy to.BASE64_ENCODED_ARWEAVE_WALLET_KEYFILEwith your Arweave wallet keyfile, base64 encoded. This key pays for the upload.BASE58_SOLANA_SECRET_KEYwith the Solana key that owns or controls the ArNS name. A deploy whose key cannot update the name is refused before anything is uploaded.
Keep these out of git along with the rest of your .env files. For local
testing you can put them in a deploy.sh, source deploy.sh, then run
yarn deploy.