Post
Share your knowledge.
Building Your First Walrus Site on Sui Testnet (on Windows 11)
I Built My First Walrus Site Using Sui — Here’s Exactly How (on Windows 11)
I recently decided to try out Walrus — a decentralized storage system — and deploy my first Walrus Site on the Sui blockchain. Since I work on a Windows 11, I wanted to document the entire process from setup to launch, especially for anyone else who might be building NFT sites or onchain apps using Sui.
This guide is my own experience: what worked, what didn’t, and how I got it running smoothly in the end.
Why I Chose Walrus + Sui
Walrus isn’t just another storage tool. It’s built for the decentralized future. I liked that I could store not only basic assets like images and videos, but also game files, sounds, animations, and even datasets for AI models. The integration with Sui made it a perfect fit for Web3 apps where both storage and logic need to be onchain.
As a dev, one of the first ideas that came to mind was building an NFT site backed by Walrus storage, with Sui handling smart contract interactions. That’s how I landed on Walrus Sites — they’re static websites deployed using Walrus, and live on the blockchain thanks to Sui.
🧰 Setting Up on Windows 11
I use Chocolatey to manage packages, so I started by installing the Sui CLI with:
choco install sui
Then I created a new testnet environment for Sui:
sui client new-env --alias testnet --rpc https://fullnode.testnet.sui.io:443
sui client switch --env testnet
After switching to the testnet, I grabbed some testnet SUI tokens using the faucet and confirmed everything was set up by checking my balance. That gave me the tokens I needed for gas during site publishing.
🐋 Installing Walrus CLI
With the Sui CLI ready, I moved on to installing Walrus CLI. I did this inside my D:\walrus folder using:
SYSTEM=windows-x86_64.exe
curl https://storage.googleapis.com/mysten-walrus-binaries/walrus-testnet-latest-$SYSTEM -o walrus
chmod +x walrus
Then I updated my environment variables so I could run walrus from anywhere. To verify the install:
walrus --help
Next, I added the default config file for Walrus:
curl https://docs.blob.store/client_config.yaml -o ~/.config/walrus/client_config.yaml
Installing Walrus Site Builder
The next tool I needed was the site-builder, which lets me take static content and deploy it to Walrus. I followed the same pattern:
curl https://storage.googleapis.com/mysten-walrus-binaries/site-builder-testnet-latest-$SYSTEM -o site-builder
chmod +x site-builder
After making sure it was in my path, I checked the install:
site-builder
Then, I added the config:
curl https://raw.githubusercontent.com/MystenLabs/walrus-sites/refs/heads/testnet/sites-config.yaml -o ~/.config/walrus/sites-config.yaml
Everything was now in place to actually publish my first site.
Deploying My First Walrus Site
I cloned the official example repo:
git clone https://github.com/MystenLabs/example-walrus-sites.git
cd walrus-snake/
At first, I tried the basic publish command:
site-builder publish ./walrus-snake --epochs 100
…but I hit an error:
“Error while executing the call to the Walrus binary”. I realized the site-builder couldn’t find my walrus binary, so I had to manually specify its path using the --walrus-binary flag:
site-builder --walrus-binary ./../walrus publish ./walrus-snake --epochs 100
That did the trick. After the publish finished, I visited the output URL and saw my deployed Walrus Site running on the Sui testnet. It felt really satisfying.
🌐 Bonus: Setting a SuiNS Domain
After publishing the site, I had the option to set a SuiNS domain (something like a .sui address for my site). The feature costs 2 SUI, and I didn’t have quite enough gas at the time. I’ll try that part later, but it’s cool that it’s built in — being able to associate a readable domain with my site will definitely make it easier to share.
💧 How I Got More Testnet Tokens
Whenever I needed more SUI to test things out, I went to the Sui Discord and used the testnet faucet there. They send 1 SUI per request, which was enough for my experiments.
🧠 Final Thoughts
Looking back, building my first Walrus Site was a great intro to decentralized storage and the Sui dev environment. Sure, there were a few small speed bumps — like having to explicitly specify the walrus binary path — but overall, everything worked as expected. The docs were clear, and the tools were solid.
What I like most about Walrus is how it brings everything together. I didn’t have to mess with IPFS pins, gateway URLs, or weird storage backends. Everything lives onchain, and Sui’s integration makes it feel like one unified developer experience.
If you’re working on a hackathon project or exploring onchain apps, I definitely recommend giving Walrus Sites a shot. It’s a good way to go from “idea” to “live site” in an afternoon.
📚 References I Used
- Sui
- Architecture
oke
How about MacOS?
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.

- 24p30p... SUI+78
1
- MoonBags... SUI+71
2
- Meaning.Sui... SUI+43
3
- ... SUIJojo+34
- ... SUIOpiiii+31
- ... SUI0xduckmove+20
- ... SUIHaGiang+20
- ... SUIfomo on Sui+16
- ... SUI
- ... SUI
- Why does BCS require exact field order for deserialization when Move structs have named fields?53
- Multiple Source Verification Errors" in Sui Move Module Publications - Automated Error Resolution43
- Sui Transaction Failing: Objects Reserved for Another Transaction25
- How do ability constraints interact with dynamic fields in heterogeneous collections?05