Build on Silica
Comprehensive resources, SDKs, and tools for developers building on the Silica Protocol
Developer Resources
Everything you need to integrate with Silica Protocol
API Documentation
REST and WebSocket APIs for blockchain interaction with comprehensive documentation and examples.
- • JSON-RPC endpoints
- • WebSocket subscriptions
- • Rate limiting and authentication
SDKs & Libraries
JavaScript, Rust, and Python SDKs for easy integration with your applications.
- • TypeScript/JavaScript SDK
- • Rust implementation
- • Python client library
Node Deployment
Guides for running validators, gateways, and PoUW miners with step-by-step instructions.
- • Docker deployment
- • Kubernetes configuration
- • Monitoring and logging
System Contracts
Browse the contract docs that already exist today and jump directly to the individual repositories in the Silica-Contracts organization.
- • Contract SDK and Rust spec
- • CRC-20, CRC-721, DAO, timelock, bridge, and more
- • Direct GitHub repo links
Code Examples
Practical examples to get you started quickly
JavaScript Example
// Connect to Silica network
const { ChertClient } = require('@chert/sdk');
const client = new ChertClient({
network: 'mainnet',
apiKey: 'your-api-key'
});
// Get latest block
async function getLatestBlock() {
const block = await client.getLatestBlock();
console.log('Latest block:', block.hash);
}
// Send transaction
async function sendTransaction() {
const tx = await client.sendTransaction({
from: 'your-address',
to: 'recipient-address',
amount: 1000,
data: 'hello world'
});
console.log('Transaction sent:', tx.hash);
}
getLatestBlock();
sendTransaction(); Rust Example
use chert_sdk::Client;
use std::error::Error;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
// Initialize client
let client = Client::new("mainnet", "your-api-key")?;
// Get account balance
let balance = client.get_balance("your-address").await?;
println!("Balance: {} CHERT", balance);
// Submit transaction
let tx_hash = client.submit_transaction(
"your-address",
"recipient-address",
1000,
"hello world"
).await?;
println!("Transaction submitted: {}", tx_hash);
Ok(())
} Start Building Today
Join developers worldwide building the next generation of blockchain applications.