Skip to content

Why Starknet.go?

Starknet.go is a Go library that provides a comprehensive and efficient interface for interacting with the Starknet blockchain. It is designed with performance, type safety, and developer productivity in mind.

Features

  • Complete Starknet API Coverage: Full implementation of Starknet RPC v0.8.0 spec, including:
    • Block and transaction operations
    • State and storage queries
    • Contract interactions
    • Event subscriptions
    • Transaction simulation and tracing
  • WebSocket Support: Real-time updates through WebSocket subscriptions for:
    • Events
    • New block headers
    • Pending transactions
    • Transaction status updates
  • Type Safety: Leverage Go's strong typing system for safer contract interactions and compile-time validation.
  • Performance: Built for high-throughput applications with efficient concurrent operations and optimized resource usage.
  • Easy Integration: Simple to incorporate into existing Go applications with minimal dependencies and clean API design.
  • Well-Documented: Comprehensive documentation, API references, and practical examples for all major use cases.
  • Community Support: Active development and responsive community

Use Cases

Starknet.go is ideal for:

  • Building backend services that interact with Starknet
  • Developing tools for Starknet blockchain analysis
  • Creating automated trading or DeFi applications
  • Implementing wallet functionality in Go applications
  • Integrating Starknet capabilities into existing Go infrastructure
  • Building real-time monitoring and analytics tools
  • Developing automated testing and deployment pipelines

Getting Started

To begin using Starknet.go:

  1. Installation Guide - Set up the library in your project
  2. Getting Started - Build your first application
  3. Examples - Explore practical implementations

Example Applications

The library includes several example applications to help you get started:

  • Simple Contract Calls: Basic contract interaction examples
  • Account Deployment: Deploy new account contracts on testnet
  • Transaction Invocation: Add new invoke transactions
  • Contract Declaration: Add new contracts to the network
  • UDC Deployment: Deploy contracts using Universal Deployer Contract
  • Typed Data: Sign and verify typed data
  • WebSocket Integration: Subscribe to real-time updates

Community

Join our community on Telegram or follow us on Twitter to stay updated with the latest developments.

Contributing

We welcome contributions from the community! Check out our contributing guide for more information on how to get involved.