A lightweight backend service for interacting with Ethereum networks using Go and go-ethereum.
This project demonstrates a structured approach to building backend services that handle blockchain interactions, including transaction execution, contract deployment, and on-chain data querying.
This project focuses on building a minimal yet practical abstraction layer over Ethereum RPC using Go.
It provides reusable patterns for:
- Blockchain data querying
- Transaction construction and submission
- Smart contract deployment and interaction
- Go contract bindings via abigen
- Query block data from Ethereum network
- Send ETH transactions programmatically
- Deploy smart contracts via Go
- Generate and use contract bindings (abigen)
- Interact with smart contracts (read/write methods)
Encapsulated common Ethereum operations using go-ethereum:
- ethclient connection management
- transaction signing and submission
- contract call abstraction
- Used abigen to generate Go bindings from Solidity contracts
- Enabled type-safe contract interaction in Go
Demonstrates the full lifecycle:
- Write Solidity contract
- Compile (ABI / BIN)
- Generate bindings
- Deploy contract
- Interact via backend service
cmd/ # application entry point
internal/ # core logic (client, services)
contracts/ # Solidity contracts
- Go
- go-ethereum (ethclient)
- Solidity
- Sepolia Testnet
- Backend service interacting with Ethereum
- Automated transaction execution
- Contract deployment scripts
- Blockchain data ingestion
- Practical use of go-ethereum in backend services
- Clean separation between blockchain logic and application layer
- End-to-end contract interaction workflow
- Foundation for building Web3 backend services
M.X Du
Smart Contract Engineer (EVM)