blockchain-developer
تایید شدهExpert in Web3 development, smart contracts (Solidity/Rust), and decentralized application (dApp) architecture.
(0)
۶ستاره
۰دانلود
۱بازدید
نصب مهارت
مهارتها کدهای شخص ثالث از مخازن عمومی GitHub هستند. SkillHub الگوهای مخرب شناختهشده را اسکن میکند اما نمیتواند امنیت را تضمین کند. قبل از نصب، کد منبع را بررسی کنید.
نصب سراسری (سطح کاربر):
npx skillhub install 404kidwiz/claude-supercode-skills/blockchain-developerنصب در پروژه فعلی:
npx skillhub install 404kidwiz/claude-supercode-skills/blockchain-developer --projectمسیر پیشنهادی: ~/.claude/skills/blockchain-developer/
محتوای SKILL.md
---
name: blockchain-developer
description: Expert in Web3 development, smart contracts (Solidity/Rust), and decentralized application (dApp) architecture.
---
# Blockchain Developer
## Purpose
Provides Web3 development expertise specializing in smart contracts (Solidity/Rust), decentralized application (dApp) architecture, and blockchain security. Builds secure smart contracts, optimizes gas usage, and integrates with Layer 2 scaling solutions (Arbitrum, Optimism, Base).
## When to Use
- Writing and deploying Smart Contracts (ERC-20, ERC-721, ERC-1155)
- Auditing contracts for security vulnerabilities (Reentrancy, Overflow)
- Integrating dApp frontends with wallets (MetaMask, WalletConnect, RainbowKit)
- Building DeFi protocols (AMMs, Lending, Staking)
- Implementing Account Abstraction (ERC-4337)
- Indexing blockchain data (The Graph, Ponder)
---
---
## 2. Decision Framework
### Blockchain Network Selection
```
Which chain fits the use case?
│
├─ **Ethereum L1**
│ ├─ High value transactions? → **Yes** (Max security)
│ └─ Cost sensitive? → **No** (High gas fees)
│
├─ **Layer 2 (Arbitrum / Optimism / Base)**
│ ├─ General purpose? → **Yes** (EVM equivalent)
│ ├─ Low fees? → **Yes** ($0.01 - $0.10)
│ └─ Security? → **High** (Inherits from Eth L1)
│
├─ **Sidechains / Alt L1 (Polygon / Solana / Avalanche)**
│ ├─ Massive throughput? → **Solana** (Rust based)
│ └─ EVM compatibility? → **Polygon/Avalanche**
│
└─ **App Chains (Cosmos / Polkadot / Supernets)**
└─ Need custom consensus/gas token? → **Yes** (Sovereignty)
```
### Development Stack (2026 Standards)
| Component | Recommendation | Why? |
|-----------|----------------|------|
| **Framework** | **Foundry** | Rust-based, blazing fast tests, Solidity scripting. (Hardhat is legacy). |
| **Frontend** | **Wagmi + Viem** | Type-safe, lightweight replacement for Ethers.js. |
| **Indexing** | **Ponder / The Graph** | Efficient event indexing. |
| **Wallets** | **RainbowKit / Web3Modal** | Best UX, easy integration. |
**Red Flags → Escalate to `security-auditor`:**
- Contract holds > $100k value without an audit
- Using `delegatecall` with untrusted inputs
- Implementing custom cryptography (Rolling your own crypto)
- Upgradable contracts without a Timelock or Multi-sig governance
---
---
## 4. Core Workflows
### Workflow 1: Smart Contract Development (Foundry)
**Goal:** Create a secure ERC-721 NFT contract with whitelist.
**Steps:**
1. **Setup**
```bash
forge init my-nft
forge install OpenZeppelin/openzeppelin-contracts
```
2. **Contract (`src/MyNFT.sol`)**
```solidity
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol";
contract MyNFT is ERC721, Ownable {
bytes32 public merkleRoot;
uint256 public nextTokenId;
constructor(bytes32 _merkleRoot) ERC721("MyNFT", "MNFT") Ownable(msg.sender) {
merkleRoot = _merkleRoot;
}
function mint(bytes32[] calldata proof) external {
bytes32 leaf = keccak256(abi.encodePacked(msg.sender));
require(MerkleProof.verify(proof, merkleRoot, leaf), "Not whitelisted");
_safeMint(msg.sender, nextTokenId);
nextTokenId++;
}
}
```
3. **Test (`test/MyNFT.t.sol`)**
```solidity
function testMintWhitelist() public {
// Generate Merkle Tree in helper...
bytes32[] memory proof = tree.getProof(user1);
vm.prank(user1);
nft.mint(proof);
assertEq(nft.ownerOf(0), user1);
}
```
---
---
### Workflow 3: Gas Optimization Audit
**Goal:** Reduce transaction costs for users.
**Steps:**
1. **Analyze Storage**
- Pack variables: `uint128 a; uint128 b;` fits in one slot (32 bytes).
- Use `constant` and `immutable` for fixed values.
2. **Code Refactoring**
- Use `custom errors` instead of string `require` messages (saves ~gas).
- Cache array length in loops (`unchecked { ++i }`).
- Use `calldata` instead of `memory` for function arguments where possible.
3. **Verification**
- Run `forge test --gas-report`.
---
---
## 4. Patterns & Templates
### Pattern 1: Checks-Effects-Interactions (Security)
**Use case:** Preventing Reentrancy attacks.
```solidity
function withdraw() external {
// 1. Checks
uint256 balance = userBalances[msg.sender];
require(balance > 0, "No balance");
// 2. Effects (Update state BEFORE sending ETH)
userBalances[msg.sender] = 0;
// 3. Interactions (External call)
(bool success, ) = msg.sender.call{value: balance}("");
require(success, "Transfer failed");
}
```
### Pattern 2: Transparent Proxy (Upgradability)
**Use case:** Upgrading contract logic while keeping state/address.
```solidity
// Implementation V1
contract LogicV1 {
uint256 public value;
function setValue(uint256 _value) external { value = _value; }
}
// Proxy Contract (Generic)
contract Proxy {
address public implementation;
function upgradeTo(address _newImpl) external { implementation = _newImpl; }
fallback() external payable {
address _impl = implementation;
assembly {
calldatacopy(0, 0, calldatasize())
let result := delegatecall(gas(), _impl, 0, calldatasize(), 0, 0)
returndatacopy(0, 0, returndatasize())
switch result
case 0 { revert(0, returndatasize()) }
default { return(0, returndatasize()) }
}
}
}
```
### Pattern 3: Merkle Tree Whitelist (Gas Efficient)
**Use case:** Whitelisting 10,000 users without storing them on-chain.
- **Off-chain:** Hash all addresses -> Root Hash.
- **On-chain:** Store only Root Hash (32 bytes).
- **Verification:** User provides Proof (path to root). Cost is O(log n), very cheap.
---
---
## 6. Integration Patterns
### **backend-developer:**
- **Handoff**: Blockchain dev provides ABI and Contract Address → Backend uses Alchemy/Infura to listen for events.
- **Collaboration**: Indexing strategy (The Graph vs Custom SQL indexer).
- **Tools**: Alchemy Webhooks, Tenderly.
### **frontend-ui-ux-engineer:**
- **Handoff**: Blockchain dev provides wagmi hooks → Frontend builds UI.
- **Collaboration**: Handling loading states, transaction confirmations, and error toasts ("User rejected request").
- **Tools**: RainbowKit.
### **security-auditor:**
- **Handoff**: Blockchain dev freezes code → Auditor reviews.
- **Collaboration**: Fixing findings (Critical/High/Medium).
- **Tools**: Slither, Mythril.
---