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 rube-de/cc-skills --plugin 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.
Develop secure smart contracts by integrating OpenZeppelin library components like ERC20/721/1155 tokens, access control, pausable, reentrancy guards, and governance directly into Solidity, Cairo, Stylus, Stellar, or Sui Move contracts.