Blockchain on Golang : Introduction

Ajiyba Nesij Korkmaz
2 min readMay 23, 2022

Throughout this series of articles, I will provide detailed explanations on how to establish connections to EVM-based blockchain networks using the Golang programming language.

In this article series, we will be utilizing the Go-Ethereum library to interact with the blockchain, performing various tasks such as checking account balances, transferring tokens, and deploying smart contracts. Furthermore, subsequent articles will focus on deploying smart contracts and conducting transactions using these contracts.

Series

What is Go Ethereum?

Go-Ethereum (aka Geth) is an Ethereum client built in Go. It is one of the original and most popular Ethereum clients.

Developers and users have the option to run their independent instances of Go-Ethereum to engage in the Ethereum network, interact with decentralized applications (DApps), and oversee their Ethereum accounts. Furthermore, numerous exchanges, wallets, and other blockchain services often rely on Geth to extend Ethereum support to their respective user bases.

Setting up the Client

The following code includes the InitNetwork function, which you can use to connect to the Ethereum blockchain network. When calling this function, you’ll need to provide the networkRPC parameter, which should contain the URL or endpoint of the blockchain network you want to connect to.

var client *ethclient.Clientfunc InitNetwork(networkRPC string) {
var err error
client, err = ethclient.Dial(networkRPC)
if err != nil {
log.Fatal(err)
}
fmt.Println("Connected")
}

Inside the function, it attempts to connect to the blockchain network using the ethclient.Dial() method. If the connection is successful, it stores the resulting client in the client variable, which can then be used to interact with the Ethereum blockchain throughout the application.

This function allows you to connect various network RPCs by simply providing them as parameters.

Full Code

The following main function facilitates the connection to the Avalanche Fuji Test network. Additionally, it can be utilized to connect to other EVM-based networks. To access the RPC URLs for other networks, you can visit here.

Conclusion

This article presents the essential code required to establish a connection with an EVM-based blockchain network.

Blockchain development in Golang offers exciting opportunities, and with this guide, you have taken the first steps towards building powerful and decentralized applications on the Ethereum platform.

Happy coding and exploring the world of blockchain technology!

All project codes are in this repository.

The next chapter is about wallet operations on the blockchain.

--

--