From oasis-dev
Builds on Oasis Network: Sapphire confidential EVM ParaTime, ROFL off-chain apps, CLI operations, and SDK patterns in Rust, Go, TypeScript, and Python.
How this skill is triggered — by the user, by Claude, or both
Slash command
/oasis-dev:oasis-devThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Comprehensive assistance for building on the Oasis Network: Sapphire confidential EVM ParaTime, ROFL (Runtime OFfchain Logic) applications, Oasis CLI, SDK development, and ParaTime operations.
Comprehensive assistance for building on the Oasis Network: Sapphire confidential EVM ParaTime, ROFL (Runtime OFfchain Logic) applications, Oasis CLI, SDK development, and ParaTime operations.
Use this skill when the user mentions: "oasis", "sapphire", "sapphire paratime", "rofl", "oasis cli", "oasis sdk", "oasis network", "confidential evm", "oasis-sdk", "sapphire-paratime", "oasisprotocol", "oasis rofl", "paratime", "emerald", "cipher", "rose token", "oasis wallet", "sapphire contracts", "oasis node", "oasis core".
Also activate when the user is working in repos: oasisprotocol/sapphire-paratime, oasisprotocol/oasis-sdk, oasisprotocol/cli.
If MCP Context7 is available, use it to fetch latest docs:
oasis_io_llms_txt at https://context7.com/llmstxt/oasis_io_llms_txt# Download latest release from https://github.com/oasisprotocol/cli/releases
# Linux
wget https://github.com/oasisprotocol/cli/releases/latest/download/oasis_cli_linux_amd64.tar.gz
tar xf oasis_cli_linux_amd64.tar.gz
sudo mv oasis /usr/local/bin/
# macOS
brew install oasisprotocol/tools/oasis
# Ed25519 (Oasis native)
oasis wallet create my_wallet
# secp256k1 (EVM-compatible, for Sapphire/Emerald)
oasis wallet create my_wallet --algorithm secp256k1-bip44
Visit https://faucet.testnet.oasis.io to get TEST tokens for Sapphire Testnet.
npx hardhat init
npm install -D @oasisprotocol/sapphire-hardhat
// hardhat.config.js
import '@oasisprotocol/sapphire-hardhat';
module.exports = {
solidity: "0.8.24",
networks: {
sapphire_testnet: {
url: "https://testnet.sapphire.oasis.io",
chainId: 0x5aff,
accounts: [process.env.PRIVATE_KEY],
},
sapphire_mainnet: {
url: "https://sapphire.oasis.io",
chainId: 0x5afe,
accounts: [process.env.PRIVATE_KEY],
},
},
};
oasis rofl init my-app
oasis rofl create --network testnet --account my_wallet
oasis rofl build
echo -n "my-secret" | oasis rofl secret set MY_SECRET -
oasis rofl deploy
| Developer wants to... | Action |
|---|---|
| Create a Sapphire dApp | Use Hardhat + @oasisprotocol/sapphire-hardhat plugin |
| Build a ROFL app | oasis rofl init, oasis rofl create, oasis rofl build, oasis rofl deploy |
| Check account balance | oasis account show <name> |
| Transfer tokens | oasis account transfer <amount> <to> --network testnet --paratime sapphire |
| Deposit to ParaTime | oasis account deposit <amount> --network testnet --paratime sapphire |
| Withdraw from ParaTime | oasis account withdraw <amount> --network testnet --paratime sapphire |
| Manage ROFL secrets | oasis rofl secret set <NAME> - (pipe value via stdin) |
| View ROFL logs | oasis rofl machine logs |
| Check ROFL status | oasis rofl machine show |
| Inspect a ParaTime block | oasis paratime show <round> --network testnet --paratime sapphire |
| Use Go SDK with Sapphire | Import sapphire "github.com/oasisprotocol/sapphire-paratime/clients/go" |
| Use JS/TS with Sapphire | npm install @oasisprotocol/sapphire-paratime |
| Verify ROFL origin on-chain | Subcall.roflEnsureAuthorizedOrigin(roflAppID) in Solidity |
ParaTimes are parallel runtimes on Oasis. Key ones:
Sapphire provides end-to-end encryption for smart contracts:
Containerized off-chain applications running in TEEs, managed via Sapphire:
appd REST API for key generation, transaction signing, and queries| Network | Decimals | Symbol |
|---|---|---|
| Consensus (Mainnet/Testnet) | 9 | ROSE / TEST |
| Sapphire / Emerald | 18 | ROSE / TEST |
| Cipher | 9 | ROSE / TEST |
For deep dives, consult these references:
| Reference | Content |
|---|---|
| CLI.md | Complete CLI command reference: wallet, account, network, paratime, ROFL, transactions |
| SAPPHIRE.md | Sapphire ParaTime development: EVM patterns, SDKs (Go, JS/TS, Python), Hardhat, confidential contracts |
| ROFL.md | ROFL framework: app lifecycle, containers, secrets, appd API, deployment, proxy configuration |
| SDK-CORE.md | Oasis SDK and core concepts: architecture, ParaTimes, staking, consensus, cryptography |
If using Go SDK, always use backend.Transactor(senderAddr) for TransactOpts. Forgetting this sends transactions unencrypted.
For JS/TS, ensure @oasisprotocol/sapphire-paratime wraps the provider before any contract interactions.
compose.yaml (e.g., docker.io/library/python:3.12-alpine)Verify request body matches expected format. Check required fields: kind for keys, tx structure for sign-submit.
Sapphire/Emerald use 18 decimals, consensus uses 9. Wrong decimals = wrong token amounts. Always verify with oasis paratime list.
Add to .cargo/config.toml:
[build]
rustflags = ["-C", "target-feature=+aes,+ssse3"]
When helping with Oasis development:
npx claudepluginhub p/rube-de-oasis-dev-plugins-oasis-devBuilds production-grade Web3 apps, smart contracts, and decentralized systems across Ethereum, Solana, Cosmos, and other ecosystems. Covers DeFi, NFTs, DAOs, security auditing, and Layer 2 solutions.
Provides expertise in Solana blockchain development including Anchor framework, SPL tokens, program development, dApp architecture, Metaplex NFTs, and DeFi protocols.