Go implementation of the Wetware distributed computing system.
go install github.com/wetware/go/cmd/wwRun 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.wasmww 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.wasmSee examples/hello/README.md for more details.
- Cell API Specification - Complete API reference
- Shell Documentation - Interactive shell guide