ethereum-development-with-go-book icon indicating copy to clipboard operation
ethereum-development-with-go-book copied to clipboard

πŸ“– A little guide book on Ethereum Development with Go (golang)

Book cover


Ethereum Development with Go

A little guide book on Ethereum Development with Go (golang)

License Mentioned in Awesome Go PRs Welcome

Online

https://goethereumbook.org

E-book

The e-book is avaiable in different formats.

Languages

  • English
  • ChineseδΈ­ζ–‡

Contents

  • Introduction
  • Client
    • Setting up the Client
  • Accounts
    • Account Balances
    • Account Token Balances
    • Generating New Wallets
    • Keystores
    • HD Wallets
    • Address Check
  • Transactions
    • Querying Blocks
    • Querying Transactions
    • Transferring ETH
    • Transferring Tokens
    • Subscribing to New Blocks
    • Create Raw Transaction
    • Send Raw Transaction
  • Smart Contracts
    • Smart Contract Compilation & ABI
    • Deploying a Smart Contract
    • Loading a Smart Contract
    • Querying a Smart Contract
    • Writing to a Smart Contract
    • Reading Smart Contract Bytecode
    • Querying an ERC20 Token Smart Contract
  • Event Logs
    • Subscribing to Event Logs
    • Reading Event Logs
    • Reading ERC-20 Token Event Logs
    • Reading 0x Protocol Event Logs
  • Signatures
    • Generating Signatures
    • Verifying Signatures
  • Testing
    • Faucets
    • Using a Simulated Client
  • Swarm
    • Setting Up Swarm
    • Uploading Files to Swarm
    • Download Files From Swarm
  • Whisper
    • Connecting Whisper Client
    • Generating Whisper Key Pair
    • Sending Messages on Whisper
    • Subscribing to Whisper Messages
  • Utilities
    • Collection of Utility Functions
  • Glossary
  • Resources

Help & Support

Development

Install dependencies:

make install

Run gitbook server:

make serve

Generating e-book in pdf, mobi, and epub format:

make ebooks

Visit http://localhost:4000

Contributing

Pull requests are welcome!

If making general content fixes:

  • please double check for typos and cite any relevant sources in the comments.

If updating code examples:

  • make sure to update both the code in the markdown files as well as the code in the code folder.

If wanting to add a new translation, follow these instructions:

  1. Set up development environment

  2. Add language to LANGS.md

  3. Copy the the en directory and rename it with the 2 letter language code of the language you're translating to (e.g. zh)

  4. Translate content

  5. Set "root" to "./" in book.json if not already set

Thanks

Thanks to @qbig and @gzuhlwang for the Chinese translation.

And thanks to all the contributors who have contributed to this guide book.

License

CC0-1.0