Skip to main content

celo-rpc

Interact with Celo blockchain via RPC endpoints. Use when reading balances, transactions, blocks, and interacting with Celo via viem or cast.

Zur Installation springen

Quellinformationen

Repository
Hawwal/Osherai
Letzte Quellaktivität
13. Februar 2026 um 15:15
Erkannte Sprache von SKILL.md
Englisch
Sterne
1
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
3 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
celo-rpc
description
Interact with Celo blockchain via RPC endpoints. Use when reading balances, transactions, blocks, and interacting with Celo via viem or cast.
license
Apache-2.0
metadata
{"author":"celo-org","version":"1.0.0"}
# Celo RPC Interactions This skill covers interacting with the Celo blockchain via RPC endpoints. ## When to Use - Reading account balances (CELO and tokens) - Querying transaction data - Getting block information - Interacting with Celo via viem or cast ## Network Information | Network | Chain ID | RPC Endpoint | |---------|----------|--------------| | Celo Mainnet | 42220 | https://forno.celo.org | | Celo Sepolia | 11142220 | https://forno.celo-sepolia.celo-testnet.org | Forno is a rate-limited, best-effort service. For production, use a dedicated RPC provider. ### Alternative RPC Providers | Provider | Mainnet | Testnet | |----------|---------|---------| | Alchemy | https://celo-mainnet.g.alchemy.com/v2/{API_KEY} | https://celo-sepolia.g.alchemy.com/v2/{API_KEY} | | Infura | https://celo-mainnet.infura.io/v3/{API_KEY} | https://celo-sepolia.infura.io/v3/{API_KEY} | | Ankr | https://rpc.ankr.com/celo | https://rpc.ankr.com/celo_testnet | | QuickNode | Custom endpoint via dashboard | Custom endpoint via dashboard | ## Block Explorers - **Celo Mainnet:** https://celoscan.io - **Celo Sepolia:** https://sepolia.celoscan.io ## Using viem with Celo ### Installation ```bash npm install viem ``` ### Basic Setup ```typescript import { createPublicClient, http } from "viem"; import { celo, celoSepolia } from "viem/chains"; // Mainnet client const publicClient = createPublicClient({ chain: celo, transport: http("https://forno.celo.org"), }); // Testnet client (Celo Sepolia) const testnetClient = createPublicClient({ chain: celoSepolia, transport: http("https://forno.celo-sepolia.celo-testnet.org"), }); ``` ### Reading Balances ```typescript // Get CELO balance const balance = await publicClient.getBalance({ address: "0x...", }); console.log("Balance:", balance, "wei"); // Get token balance (e.g., cUSD) const cUSD = "0x765de816845861e75a25fca122bb6898b8b1282a"; const tokenBalance = await publicClient.readContract({ address: cUSD, abi: [ { name: "balanceOf", type: "function", stateMutability: "view", inputs: [{ name: "account", type: "address" }], outputs: [{ type: "uint256" }], }, ], functionName: "balanceOf", args: ["0x..."], }); ``` ### Getting Block Data ```typescript // Get latest block number const blockNumber = await publicClient.getBlockNumber(); // Get block by number const block = await publicClient.getBlock({ blockNumber: 12345678n, }); // Get block by hash const blockByHash = await publicClient.getBlock({ blockHash: "0x...", }); ``` ### Getting Transaction Data ```typescript // Get transaction by hash const tx = await publicClient.getTransaction({ hash: "0x...", }); // Get transaction receipt const receipt = await publicClient.getTransactionReceipt({ hash: "0x...", }); ``` ## Using cast (Foundry) ### Reading Data ```bash # Get CELO balance cast balance 0x... --rpc-url https://forno.celo.org # Get block number cast block-number --rpc-url https://forno.celo.org # Get block details cast block 12345678 --rpc-url https://forno.celo.org # Get transaction cast tx 0x... --rpc-url https://forno.celo.org # Call view function cast call 0x765de816845861e75a25fca122bb6898b8b1282a \ "balanceOf(address)(uint256)" \ 0x... \ --rpc-url https://forno.celo.org # Get storage slot cast storage 0x... 0 --rpc-url https://forno.celo.org ``` ### Chain Information ```bash # Get chain ID cast chain-id --rpc-url https://forno.celo.org # Get gas price cast gas-price --rpc-url https://forno.celo.org ``` ## Using curl (Raw RPC) ### Get Balance ```bash curl -X POST https://forno.celo.org \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "method": "eth_getBalance", "params": ["0x...", "latest"], "id": 1 }' ``` ### Get Block Number ```bash curl -X POST https://forno.celo.org \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "method": "eth_blockNumber", "params": [], "id": 1 }' ``` ## Standard EVM RPC Methods All standard Ethereum JSON-RPC methods are supported: | Method | Description | |--------|-------------| | eth_blockNumber | Returns the current block number | | eth_getBalance | Returns the balance of an address | | eth_getTransactionByHash | Returns transaction by hash | | eth_getTransactionReceipt | Returns transaction receipt | | eth_call | Executes a call without creating a transaction | | eth_estimateGas | Estimates gas for a transaction | | eth_gasPrice | Returns current gas price | | eth_getBlockByNumber | Returns block by number | | eth_getBlockByHash | Returns block by hash | | eth_getLogs | Returns logs matching filter | | eth_sendRawTransaction | Sends a signed transaction | ## Additional Resources - [rpc-providers.md](references/rpc-providers.md) - Full list of RPC providers
Auf GitHub ansehen