Claude-code-plugins-plus quicknode-core-workflow-a
install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/saas-packs/quicknode-pack/skills/quicknode-core-workflow-a" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-quicknode-core-workflow-a && rm -rf "$T"
manifest:
plugins/saas-packs/quicknode-pack/skills/quicknode-core-workflow-a/SKILL.mdsource content
QuickNode Core Workflow A
Overview
Build EVM transaction workflows: send ETH, interact with contracts, listen for events, and handle gas estimation.
Prerequisites
- Completed
quicknode-hello-world - A funded wallet (use testnet for development)
Instructions
Step 1: Send ETH Transaction
import { ethers } from 'ethers'; const provider = new ethers.JsonRpcProvider(process.env.QUICKNODE_ENDPOINT); const wallet = new ethers.Wallet(process.env.PRIVATE_KEY!, provider); const tx = await wallet.sendTransaction({ to: '0xRecipientAddress', value: ethers.parseEther('0.01'), }); console.log(`TX sent: ${tx.hash}`); const receipt = await tx.wait(); console.log(`Confirmed in block ${receipt!.blockNumber}, gas used: ${receipt!.gasUsed}`);
Step 2: Call Contract Write Function
const contractAddress = '0xYourContract'; const abi = ['function transfer(address to, uint256 amount) returns (bool)']; const contract = new ethers.Contract(contractAddress, abi, wallet); const tx = await contract.transfer('0xRecipient', ethers.parseUnits('100', 18)); const receipt = await tx.wait(); console.log(`Transfer confirmed: ${receipt!.hash}`);
Step 3: Listen for Events (WebSocket)
const wsProvider = new ethers.WebSocketProvider(process.env.QUICKNODE_WSS); const contract = new ethers.Contract(contractAddress, ['event Transfer(address indexed from, address indexed to, uint256 value)'], wsProvider); contract.on('Transfer', (from, to, value, event) => { console.log(`Transfer: ${from} -> ${to}: ${ethers.formatUnits(value, 18)}`); });
Step 4: Gas Estimation
const gasEstimate = await contract.transfer.estimateGas('0xRecipient', ethers.parseUnits('100', 18)); const feeData = await provider.getFeeData(); const totalCost = gasEstimate * (feeData.gasPrice || 0n); console.log(`Estimated gas: ${gasEstimate}, cost: ${ethers.formatEther(totalCost)} ETH`);
Output
- ETH transfer with receipt confirmation
- Smart contract interaction
- Real-time event listening via WebSocket
- Gas estimation before transactions
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Wallet balance too low | Fund wallet or reduce amount |
| Nonce conflict | Get latest nonce: |
| Contract revert | Check contract requirements |
Resources
Next Steps
NFT and token APIs:
quicknode-core-workflow-b