# Creating Go Bindings for Ethereum Smart Contracts

DevFeed: [Creating Go Bindings for Ethereum Smart Contracts](<https://devfeed.tech/articles/creating-go-bindings-for-ethereum-smart-contracts-31859.md>)

Original publisher: [Read original article](<https://www.metachris.dev/2021/05/creating-go-bindings-for-ethereum-smart-contracts/>)

Author: Chris Hager

Published: 2021-05-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [Chris Hager](<https://devfeed.tech/sources/chris-hager.md>)

Topics: [Ethereum](<https://devfeed.tech/topics/ethereum.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [smart contract](<https://devfeed.tech/topics/smart-contract.md>), [Solidity](<https://devfeed.tech/topics/solidity.md>), [API](<https://devfeed.tech/topics/api.md>), [Blockchain](<https://devfeed.tech/topics/blockchain.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [build](<https://devfeed.tech/tags/build.md>), [bytecode](<https://devfeed.tech/tags/bytecode.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [deploy](<https://devfeed.tech/tags/deploy.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [examples](<https://devfeed.tech/tags/examples.md>), [go](<https://devfeed.tech/tags/go.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [install](<https://devfeed.tech/tags/install.md>), [json](<https://devfeed.tech/tags/json.md>), [setup](<https://devfeed.tech/tags/setup.md>), [smart-contracts](<https://devfeed.tech/tags/smart-contracts.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

## AI overview

A practical guide to generating Go bindings for Ethereum smart contracts from ABIs obtained through Solidity compilation, Truffle, Remix, the Etherscan ABI API, or prebuilt sources. It also covers generating bindings with contract bytecode for deployment.

## Source excerpt

To interact with Ethereum smart contracts in Go programs, you need bindings for the specific type of contract. This post is a quick guide for generating these bindings from various sources: Manually compiled Solidity contract Smart contracts with Truffle (eg. OpenZeppelin contracts) Compiling a contract on remix.ethereum.org Using the Etherscan ABI API Prebuilt Go bindings