ethereum-development-with-go-book
ethereum-development-with-go-book copied to clipboard
π A little guide book on Ethereum Development with Go (golang)
Ethereum Development with Go
A little guide book on Ethereum Development with Go (golang)
Online
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
-
Join the #ethereum channel on the gophers slack for Go (golang) help
-
The Ethereum StackExchange is a great place to ask general Ethereum question and Go specific questions
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:
-
Set up development environment
-
Add language to
LANGS.md
-
Copy the the
en
directory and rename it with the 2 letter language code of the language you're translating to (e.g.zh
) -
Translate content
-
Set
"root"
to"./"
inbook.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