带新智能体完成 Structs 从密钥创建到首批建筑上线的入驻流程。
编程
structsd-install
试用通过预编译发布产物或 Go 1.23+ 的 Makefile 构建,在 Linux 或 macOS 上安装 structsd 链端二进制。
它能做什么
覆盖 structsd 链端二进制的两种安装方式:从 GitHub 下载已签名的预编译发布版本(推荐,无需 Go 工具链),以及使用项目 Makefile 从源码构建(需要 Go 1.23 及以上)。安装完成后 structsd 会进入 PATH,执行 `structsd version` 即可查看链版本号。再次对新的 tag 运行相同步骤即可覆盖更新已有安装。
什么时候用它
- 在新机器上首次安装 structsd
- 将 structsd 升级到新的发布 tag
- 构建尚未打 tag 的分支或本地补丁
- 为目标平台交叉编译 structsd
技能文档
Install structsd
There are two supported paths for installing structsd:
- Prebuilt release binary (fastest; no Go toolchain needed)
- Build from source via the Makefile (required for unreleased branches or local patches)
After either path, structsd will be available on your PATH and structsd version will print the chain version.
Ignite CLI is no longer required to build
structsd. It is only needed if you want to run a local devnet viamake serve. The Makefile builds via plaingo build.
Path A: Prebuilt Release Binary (recommended)
The chain ships signed binaries via GoReleaser on every tag. Pick the asset for your OS/arch from the latest release at .
# Pick one (replace VERSION with e.g. v0.17.0):
VERSION=v0.17.0
# Linux amd64
curl -L -o structsd.tar.gz \
"https://github.com/playstructs/structsd/releases/download/${VERSION}/structsd_$(echo ${VERSION#v})_linux_amd64.tar.gz"
# macOS Apple Silicon
curl -L -o structsd.tar.gz \
"https://github.com/playstructs/structsd/releases/download/${VERSION}/structsd_$(echo ${VERSION#v})_darwin_arm64.tar.gz"
tar -xzf structsd.tar.gz
sudo install -m 0755 structsd /usr/local/bin/structsd
rm structsd.tar.gz structsd
Verify:
structsd version
If asset names differ on the release page (GoReleaser layouts evolve), copy the URL directly from the release rather than relying on the template above.
Path B: Build from Source (Makefile)
Use this when you need a branch that has not been tagged yet, or when you are developing the chain locally.
1. Install Go (1.23+)
The Makefile enforces REQUIRE_GO_VERSION = 1.23. Newer minor versions (1.24, 1.25) are also fine.
Linux (amd64)
⚠️ Confirm with the user before running — the step below removes /usr/local/go. Ask first if an existing Go install is present.
GO_VER=1.23.6
wget https://go.dev/dl/go${GO_VER}.linux-amd64.tar.gz
# Removes existing Go installation — confirm with user before running
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go${GO_VER}.linux-amd64.tar.gz
rm go${GO_VER}.linux-amd64.tar.gz
If an older Go was installed via apt, remove it first: sudo apt remove -y golang-go
macOS (Apple Silicon)
GO_VER=1.23.6
curl -OL https://go.dev/dl/go${GO_VER}.darwin-arm64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go${GO_VER}.darwin-arm64.tar.gz
rm go${GO_VER}.darwin-arm64.tar.gz
macOS (Intel)
GO_VER=1.23.6
curl -OL https://go.dev/dl/go${GO_VER}.darwin-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go${GO_VER}.darwin-amd64.tar.gz
rm go${GO_VER}.darwin-amd64.tar.gz
Alternatively on macOS: brew install go@1.23 (or any newer 1.x).
Configure PATH
Add to ~/.profile (or ~/.zshrc on macOS):
export PATH=$PATH:/usr/local/go/bin:~/go/bin
Reload: source ~/.profile (or source ~/.zshrc).
Verify
go version
Expected: go version go1.23.x linux/amd64 (or darwin/arm64, etc.). The Makefile will refuse to build with anything older than 1.23.
2. Clone and Build
git clone https://github.com/playstructs/structsd.git
cd structsd
# Most common: install into GOPATH/bin (~/go/bin), which is on your PATH
make install
# Or, build a binary into ./build/ without installing it
make build
make install runs go install -mod=readonly ./cmd/structsd, embedding the version, commit hash, and build tags via ldflags. The resulting binary lands at ~/go/bin/structsd.
make build writes to ./build/structsd instead.
If you need cross-compiled binaries, the Makefile also exposes build-linux-amd64, build-linux-arm64, build-darwin-amd64, build-darwin-arm64, and build-windows-amd64, plus build-all to do every supported platform in one shot.
Verify
structsd version
3. Update structsd
cd structsd
git fetch --tags
git checkout v0.17.0 # or `git pull origin main` for tip-of-tree
make install
make install is idempotent -- it overwrites the previous binary at ~/go/bin/structsd.
Optional: Local Devnet (Ignite)
Only required if you want to run a chain locally for development.
# One-time
curl https://get.ignite.com/cli! | bash
ignite version
# In the structsd repo:
make serve # ignite chain serve
make serve-reset # ignite chain serve --reset-once
make serve-reset-verbose
For mainnet/testnet client use, you do not need Ignite -- a structsd binary from Path A or Path B is sufficient.
Quick Check
Run all verifications in sequence:
go version && structsd version
If you also installed Ignite for local serving:
go version && ignite version && structsd version
If any command fails, revisit the corresponding step above.
Troubleshooting
structsd: command not found— Ensure~/go/bin(Path B) or/usr/local/bin(Path A) is on your PATH. Runcommand -v structsdto confirm.go: command not found— Ensure/usr/local/go/binis on your PATH. Reload your shell profile.ERROR: Go version 1.23+ is requiredfrommake install— Your Go is too old. Re-install per step 1 above; the Makefile'scheck_versiontarget enforces this hard.- Build fails on
go mod tidy— Network access is required for the first build. Retry once you have connectivity, or setGOPROXY=directif you are behind a restrictive proxy. - Permission denied on
/usr/local— Usesudofor the tar extraction or forinstall -m 0755. On shared systems, ask your administrator. Path B does not require root because it installs to~/go/bin. gcc not installed for ledger support— Either installgcc(sudo apt install build-essential/xcode-select --install) or build withLEDGER_ENABLED=false make install.
See Also
- TOOLS — Environment configuration (servers, account, after structsd is installed)
- structs-onboarding skill — Player creation and first builds (requires structsd)
- structsd releases — Prebuilt binaries per OS/arch and changelog per tag
相关技能
Permissions, address management, and delegation in Structs. Use when granting/revoking permissions on objects or addresses, registering additional signing keys, managing multi-address accounts, or setting up minimum-permission delegate agents (mining bot, defense watcher, co-pilot). Covers the full 25-bit permission model and delegation recipes for multi-agent play.
Building interfaces and clients in the Structs universe — dashboards, forms, menus, HUDs, and companion apps using SUI, the design system the game itself is built with. Use when asked to build, style, or extend any Structs UI, or when writing client code that signs transactions, computes proof-of-work, or consumes GRASS events. This is about building software, not playing the game.
Earning and trading in Structs — selling energy via providers, buying capacity via agreements, allocations, reactor staking economics, the guild Central Bank (mint/redeem/convert), and token transfers. Use when you want to monetize surplus energy, shop for an energy agreement, set provider pricing, stake Alpha into a reactor for capacity, mint/redeem/convert guild tokens, or send tokens. For just keeping your own structs powered, see structs-energy.
端到端管理 Structs 公会——加入、设置权限、审核 UGC、运营中央银行。
让 AI 代理从零开始在 Structs 中产出 Alpha Matter,全程使用最低 CPU 占用的设置。