feat: make up/down/status for zoo subnet on lux localnet
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
# Zoo Universe — Local Development
|
||||
# Runs zood nodes as Lux subnet validators
|
||||
#
|
||||
# Prerequisites: lux localnet running (cd ~/work/lux/universe && make up)
|
||||
#
|
||||
# Quick start:
|
||||
# make up Start zoo subnet on local lux network
|
||||
# make down Stop zoo nodes
|
||||
# make status Check zoo subnet health
|
||||
|
||||
SHELL := /bin/bash
|
||||
.DEFAULT_GOAL := help
|
||||
|
||||
ZOOD := $(HOME)/work/zoo/node/build/zood
|
||||
LUX_RPC := http://127.0.0.1:9660
|
||||
LIGHT_MNEMONIC := light light light light light light light light light light light energy
|
||||
ZOO_VMID := 2n2njofjYvece8gZWCNnc1mqkcqfW6kbrhPRZPVzwxrSQrQ4gE
|
||||
ZOO_CHAIN_ID := 200200
|
||||
LOCAL_DIR := /tmp/zoo-localnet
|
||||
|
||||
GREEN := \033[32m
|
||||
BOLD := \033[1m
|
||||
RESET := \033[0m
|
||||
RED := \033[31m
|
||||
|
||||
.PHONY: up
|
||||
up: build ## Start zoo subnet on local lux network
|
||||
@echo "$(BOLD)Checking lux localnet...$(RESET)"
|
||||
@curl -s $(LUX_RPC)/ext/health -X POST -H 'Content-Type: application/json' \
|
||||
-d '{"jsonrpc":"2.0","id":1,"method":"health.health"}' >/dev/null 2>&1 || \
|
||||
(echo "$(RED)Lux localnet not running. Start it first: cd ~/work/lux/universe && make up$(RESET)" && exit 1)
|
||||
@echo "$(GREEN)Lux localnet is running$(RESET)"
|
||||
@echo "$(BOLD)Zoo subnet ready — zood VM plugin loaded by luxd$(RESET)"
|
||||
@echo ""
|
||||
@echo " Zoo EVM VM ID: $(ZOO_VMID)"
|
||||
@echo " Chain ID: $(ZOO_CHAIN_ID)"
|
||||
@echo " RPC: $(LUX_RPC)/ext/bc/<zoo-chain-id>/rpc"
|
||||
@echo ""
|
||||
@echo " To create a Zoo subnet chain:"
|
||||
@echo " MNEMONIC=\"$(LIGHT_MNEMONIC)\" lux chain deploy zoo --local"
|
||||
|
||||
.PHONY: down
|
||||
down: ## Stop zoo (handled by lux universe)
|
||||
@echo "Zoo runs as a VM plugin inside luxd — stop luxd with:"
|
||||
@echo " cd ~/work/lux/universe && make down"
|
||||
|
||||
.PHONY: build
|
||||
build: ## Build zood binary
|
||||
@if [ ! -f $(ZOOD) ]; then \
|
||||
echo "$(BOLD)Building zood...$(RESET)" && \
|
||||
cd $(HOME)/work/zoo/node && \
|
||||
GONOSUMCHECK="*" GONOSUMDB="*" GOPRIVATE="*" go build -o build/zood . 2>/dev/null && \
|
||||
echo "$(GREEN)zood built$(RESET)"; \
|
||||
else echo "$(GREEN)zood already built$(RESET)"; fi
|
||||
|
||||
.PHONY: status
|
||||
status: ## Check zoo subnet status
|
||||
@echo "$(BOLD)Zoo Subnet Status$(RESET)"
|
||||
@curl -s $(LUX_RPC)/ext/info -X POST -H 'Content-Type: application/json' \
|
||||
-d '{"jsonrpc":"2.0","id":1,"method":"info.getVMs"}' 2>/dev/null | \
|
||||
python3 -c "import sys,json; vms=json.load(sys.stdin).get('result',{}).get('vms',{}); print(' Zoo EVM registered:', '$(ZOO_VMID)' in str(vms))" 2>/dev/null || \
|
||||
echo " $(RED)Cannot reach lux localnet$(RESET)"
|
||||
|
||||
.PHONY: help
|
||||
help: ## Show this help
|
||||
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-15s\033[0m %s\n", $$1, $$2}'
|
||||
Reference in New Issue
Block a user