Hosting Decentralized Websites
Create permanent websites that can't be censored, taken down, or modified after deployment. Host your content on Arweave and serve it through AR.IO gateways for a truly decentralized web experience.
What Makes It Different?
Traditional websites:
- Hosted on centralized servers
- Can be taken down or censored
- Require ongoing hosting costs
- Single point of failure
Decentralized websites:
- Stored permanently on Arweave
- Censorship-resistant
- Pay once, host forever
- Distributed across the network
How It Works
1. Arweave Manifests
Arweave manifests are JSON files that define how your website's files are organized and linked together. They enable:
- Friendly URLs - Access files with readable paths instead of transaction IDs
- Relative linking - Use
./style.css
instead of full transaction IDs - Fallback pages - Handle 404 errors gracefully
- File organization - Structure your website like a traditional site
Example manifest:
{
"manifest": "arweave/paths",
"version": "0.2.0",
"index": {
"path": "index.html"
},
"fallback": {
"id": "404-page-transaction-id"
},
"paths": {
"index.html": {
"id": "main-page-transaction-id"
},
"style.css": {
"id": "css-transaction-id"
},
"script.js": {
"id": "js-transaction-id"
}
}
}
2. Deployment Tools
Permaweb Deploy - CLI deployment tool that:
- Uploads your build folder to Arweave using Turbo
- Creates a manifest automatically
- Updates your ArNS domain
- Integrates with GitHub Actions
- Requires
--deploy-folder
and--arns-name
parameters
Arlink - User-friendly web interface for:
- Quick website uploads through the browser
- Manifest generation
- ArNS integration
ArDrive Web - User-friendly interface for:
- File management
- Website building
- Deployment workflows
3. ArNS Integration
Primary Names - Decentralized domain names that:
- Point to your website's manifest
- Provide human-readable URLs
- Can be updated to point to new versions
- Are owned and controlled by you
Quick Start
1. Build your website - Create a static website with HTML, CSS, and JavaScript
2. Choose a deployment tool:
# Using permaweb-deploy (CLI tool)
npm install permaweb-deploy --save-dev
npx permaweb-deploy --deploy-folder ./build --arns-name your-domain
# Using arlink (web interface)
# Visit the arlink website and upload through the browser
3. Get an ArNS domain - Register a primary name to point to your website
4. Access your site - Visit https://your-domain.arweave.net
or any AR.IO gateway
Benefits
- Permanent hosting - Your website will exist forever
- Censorship resistance - Cannot be taken down by authorities
- Cost efficiency - Pay once, host forever
- Global distribution - Served from multiple AR.IO gateways
- Version control - Update your ArNS domain to point to new versions
How is this guide?