Publish and read IoT sensor data on the SKALE blockchain. SmartClaws provides a CLI, SDK, smart contracts, and OpenClaw agent skills for end-to-end IoT data pipelines.
| Package | Path | Description |
|---|---|---|
@smartclaws/cli |
packages/cli |
CLI tool for init, publish, read, device management |
@smartclaws/core |
packages/core |
Shared types, envelope encoding, network config |
@smartclaws/dashboard |
packages/dashboard |
Web dashboard for monitoring sensors |
@skalenetwork/smartclaws-contracts |
smart-contracts |
Solidity contracts (channel, device group, agent) |
smartclaws (Python) |
python |
Python SDK and CLI |
| Skill | Path | Description |
|---|---|---|
smartclaws-producer |
skills/smartclaws-producer |
Set up sensors and publish data on-chain |
smartclaws-reader |
skills/smartclaws-reader |
Read and analyze on-chain sensor data |
# Install the CLI
OS="$(uname -s | tr '[:upper:]' '[:lower:]')"
ARCH="$(uname -m)"
# On Apple Silicon, Rosetta shells can report x86_64. Prefer real hardware arch.
if [ "$OS" = "darwin" ] && [ "$(sysctl -n hw.optional.arm64 2>/dev/null || echo 0)" = "1" ]; then
ARCH="arm64"
fi
case "$ARCH" in
aarch64|arm64) ARCH="arm64" ;;
x86_64|amd64) ARCH="x86_64" ;;
esac
PLATFORM="${OS}-${ARCH}"
curl -fL -o /usr/local/bin/smartclaws \
"https://github.com/skalenetwork/smartclaws/releases/latest/download/smartclaws-${PLATFORM}"
chmod +x /usr/local/bin/smartclaws
# Initialize
smartclaws init
smartclaws wallet info
# Fund the wallet with sFUEL, then:
smartclaws register
smartclaws device register --name temp-sensor
# Publish
smartclaws publish --device temp-sensor --topic temperature --data '{"temp": 22.5}'
# Read
smartclaws read --device temp-sensor --limit 5npx skills add skalenetwork/smartclawsclawhub skill install smartclaws-producer
clawhub skill install smartclaws-readergit clone https://github.com/skalenetwork/smartclaws.git
cd smartclaws
# Copy skills into your OpenClaw workspace
cp -r skills/smartclaws-producer ~/.openclaw/skills/
cp -r skills/smartclaws-reader ~/.openclaw/skills/Skills are plain directories containing a SKILL.md file following the Agent Skills standard. They work with any compatible agent platform.
To publish or update skills on ClawHub, use the clawhub CLI:
# Authenticate with ClawHub
clawhub auth login# From the repo root — publish each skill directory
clawhub skill publish skills/smartclaws-producer
clawhub skill publish skills/smartclaws-readerThis reads the SKILL.md frontmatter (name, description, metadata) and uploads the skill to ClawHub under your account.
# Bump the version or edit the SKILL.md, then re-publish
clawhub skill publish skills/smartclaws-producerRe-publishing an existing skill name updates it in-place on ClawHub.
# Check that your skills are live
clawhub skill info smartclaws-producer
clawhub skill info smartclaws-readerOr browse directly at:
clawhub skill install smartclaws-producer
clawhub skill install smartclaws-readerThis downloads the skill into ~/.openclaw/skills/ automatically.
# Install dependencies
bun install
# Build CLI
cd packages/cli && bun run build
# Run smart contract tests
cd smart-contracts && bun run test
# Python SDK
cd python && pip install -e .LGPL-3.0-or-later