Go implementation of the Wetware distributed computing system.
go install github.com/wetware/go/cmd/ww
Run WASM binaries directly with ww run
:
# Run a local WASM file
ww run ./myapp.wasm
# Run from IPFS
ww run /ipfs/QmHash/myapp.wasm
# Run from $PATH
ww run myapp
# Run with debug info
ww run --wasm-debug ./myapp.wasm
ww run <binary>
- Execute WASM binaries with libp2p networkingww shell
- Interactive LISP shell with IPFS and P2P capabilitiesww export <path>
- Add files/directories to IPFSww import <ipfs-path>
- Download content from IPFSww idgen
- Generate Ed25519 private keys
Wetware provides capability-based security through WASM-based execution environments with controlled access to IPFS and other distributed services. Each WASM module runs with its poll()
export served on libp2p streams at /ww/0.1.0/{proc-id}
.
- Binary Resolution: Supports local files, $PATH binaries, and IPFS paths
- WASM Runtime: Uses wazero for secure WASM execution
- libp2p Integration: Serves WASM
poll()
export on network streams - IPFS Support: Direct access to IPFS for distributed content
Build and run a simple WASM module:
# Install tinygo
go install tinygo.org/x/tinygo@latest
# Build example
cd examples/hello
tinygo build -target wasi -o hello.wasm main.go
# Run with ww
ww run hello.wasm
See examples/hello/README.md for more details.
- Cell API Specification - Complete API reference
- Shell Documentation - Interactive shell guide