What is Walrus 🦭?

Walrus is a Byzantine Fault Tolerant decentralized blob storage system. Data are erasure-encoded and replicated across the storage nodes. You can use Walrus to store and read blobs, and to prove and verify their availability.

Is it like IPFS/Arweave/Filecoin?

Yes, but it’s better in costs, availability, as well as performance.

So What Can I Do with Walrus (aka Project Ideas)?

Easiest and Fastest Way to Get Started

Storing Blobs

Use the HTTP API from a Walrus Publisher/Aggregator:

AGGREGATOR=https://aggregator.walrus-testnet.walrus.space
PUBLISHER=https://publisher.walrus-testnet.walrus.space

curl -X PUT "$PUBLISHER/v1/store" -d "some string" # store the string `some string` for 1 storage epoch
curl -X PUT "$PUBLISHER/v1/store?epochs=5" --upload-file "some/file" # store file `some/file` for 5 storage epochs

No authentication is needed for testnet but you are relying on a level of indirection from the publisher/aggregator. Read more about it here: https://docs.wal.app/design/architecture.html

Retrieving Blobs

curl "$AGGREGATOR/v1/<some blob ID>" -o <some file name>

Alternatively you may print the contents of a blob in the terminal with the cURL command: