<img src="https://github.com/NethermindEth/starknet.go/raw/v0.17.1/docs/docs/public/starknetgo_vertical_dark.png" height="256">
<a href="https://pkg.go.dev/github.com/NethermindEth/starknet.go">
<img src="https://pkg.go.dev/badge/github.com/NethermindEth/starknet.go.svg" alt="Go Reference">
</a>
<a href="https://github.com/nethermindeth/starknet.go/blob/main/LICENSE">
<img src="https://img.shields.io/badge/license-MIT-black">
</a>
<a href="https://github.com/NethermindEth/starknet.go/actions/workflows/test_testnet.yml">
<img src="https://github.com/NethermindEth/starknet.go/actions/workflows/test_testnet.yml/badge.svg" alt="Main tests">
</a>
<a href="https://github.com/NethermindEth/starknet.go/stargazers">
<img src="https://img.shields.io/github/stars/nethermindeth/starknet.go?style=social"/>
</a>
starknet.go will get your golang backends and WASM frontends to Starknet easily. With simple abstractions for the Starknet RPC, account management and common operations on the wallets. The package has excellent documentation for a smooth 0 to 1 experience.
Check here for some FAQ.
starknet.go RPC implements the Starknet RPC v0.9.0 spec
| Method | Implemented (*) |
|---|---|
starknet_getBlockWithReceipts |
:heavy_check_mark: |
starknet_getBlockWithTxHashes |
:heavy_check_mark: |
starknet_getBlockWithTxs |
:heavy_check_mark: |
starknet_getStateUpdate |
:heavy_check_mark: |
starknet_getStorageAt |
:heavy_check_mark: |
starknet_getTransactionByHash |
:heavy_check_mark: |
starknet_getTransactionByBlockIdAndIndex |
:heavy_check_mark: |
starknet_getTransactionReceipt |
:heavy_check_mark: |
starknet_getTransactionStatus |
:heavy_check_mark: |
starknet_getClass |
:heavy_check_mark: |
starknet_getClassHashAt |
:heavy_check_mark: |
starknet_getClassAt |
:heavy_check_mark: |
starknet_getBlockTransactionCount |
:heavy_check_mark: |
starknet_call |
:heavy_check_mark: |
starknet_estimateFee |
:heavy_check_mark: |
starknet_estimateMessageFee |
:heavy_check_mark: |
starknet_blockNumber |
:heavy_check_mark: |
starknet_blockHashAndNumber |
:heavy_check_mark: |
starknet_chainId |
:heavy_check_mark: |
starknet_syncing |
:heavy_check_mark: |
starknet_getEvents |
:heavy_check_mark: |
starknet_getNonce |
:heavy_check_mark: |
starknet_addInvokeTransaction |
:heavy_check_mark: |
starknet_addDeclareTransaction |
:heavy_check_mark: |
starknet_addDeployAccountTransaction |
:heavy_check_mark: |
starknet_traceTransaction |
:heavy_check_mark: |
starknet_simulateTransaction |
:heavy_check_mark: |
starknet_specVersion |
:heavy_check_mark: |
starknet_traceBlockTransactions |
:heavy_check_mark: |
starknet_getStorageProof |
:heavy_check_mark: |
starknet_getMessagesStatus |
:heavy_check_mark: |
starknet_getCompiledCasm |
:heavy_check_mark: |
| Method | Implemented (*) |
|---|---|
starknet_subscribeEvents |
:heavy_check_mark: |
starknet_subscribeNewHeads |
:heavy_check_mark: |
starknet_subscribeNewTransactions |
:heavy_check_mark: |
starknet_subscribeNewTransactionReceipts |
:heavy_check_mark: |
go test -v ./...
go test -v ./rpc -env [mainnet|devnet|testnet|mock]
go test -bench=.
This project is licensed under the MIT license.
See LICENSE for more information.
Happy coding! 🎉
Thanks goes to these wonderful people
$ claude mcp add starknet.go \
-- python -m otcore.mcp_server <graph>