> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tenderly.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Go-Ethereum (geth) - Node RPC Integration

> Connect a Go application to Tenderly Node RPC with the go-ethereum (geth) ethclient using the gateway endpoint to read and write onchain data.

[Go-Ethereum](https://goethereumbook.org/en/) is the official Ethereum implementation in Go, to interact with the blockchain. Go-Ethereum, also known as *geth* for short, is the most popular Ethereum client. It provides everything we'll ever need for reading and writing to the blockchain when developing applications using Golang. Connect it to [Node RPC](/node-rpc/overview) using the gateway endpoint, and see the [JSON-RPC reference](/node-rpc/rpc-reference) for supported methods.

```go title="client.go" showLineNumbers theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
package main

import (
    "fmt"
    "log"
    "github.com/ethereum/go-ethereum/ethclient"
)

func main() {
    client, err := ethclient.Dial("https://mainnet.gateway.tenderly.co/<TENDERLY_NODE_ACCESS_KEY_MAINNET>")
    if err != nil {
        log.Fatal(err)
    }

    fmt.Println("we have a connection")
    _ = client // we'll use this in the upcoming sections
}
```
