---
概述: 用Go加載以太坊賬戶的教程。
---
# 賬戶
以太坊上的賬戶要么是錢包地址要么是智能合約地址。它們看起來像是`0x71c7656ec7ab88b098defb751b7401b5f6d8976f`,它們用于將ETH發送到另一個用戶,并且還用于在需要和區塊鏈交互時指一個智能合約。它們是唯一的,且是從私鑰導出的。我們將在后面的章節更深入地介紹公私鑰對。
要使用go-ethereun的賬戶地址,您必須先將它們轉化為go-ethereum中的`common.Address`類型。
```go
address := common.HexToAddress("0x71c7656ec7ab88b098defb751b7401b5f6d8976f")
fmt.Println(address.Hex()) // 0x71C7656EC7ab88b098defB751B7401B5f6d8976F
```
您可以在幾乎任何地方使用這種類型,您可以將以太坊地址傳遞給go-ethereum的方法。既然您已經了解賬戶和地址的基礎知識,那么讓我們在下一節中學習如何檢索ETH賬戶余額。
---
### 完整代碼
[address.go](https://github.com/miguelmota/ethereum-development-with-go-book/blob/master/code/address.go)
```go
package main
import (
"fmt"
"github.com/ethereum/go-ethereum/common"
)
func main() {
address := common.HexToAddress("0x71c7656ec7ab88b098defb751b7401b5f6d8976f")
fmt.Println(address.Hex()) // 0x71C7656EC7ab88b098defB751B7401B5f6d8976F
fmt.Println(address.Hash().Hex()) // 0x00000000000000000000000071c7656ec7ab88b098defb751b7401b5f6d8976f
fmt.Println(address.Bytes()) // [113 199 101 110 199 171 136 176 152 222 251 117 27 116 1 181 246 216 151 111]
}
```
- 客戶端
- 創建客戶端
- 以太坊賬戶
- 賬戶余額
- 賬戶代幣余額
- 生成新錢包
- 密匙庫
- 硬件錢包
- 地址驗證
- 交易
- 查詢區塊
- 查詢交易
- ETH轉賬
- 代幣轉賬
- 監聽新區塊
- 創建裸交易
- 發送裸交易
- 智能合約
- 智能合約 & ABI
- 部署智能合約
- 加載智能合約
- 查詢智能合約
- 寫入智能合約
- 讀取智能合約二進制碼
- 查詢ERC20代幣智能合約
- 事件日志
- 監聽事件日志
- 讀取時間日志
- 讀取ERC20代幣的事件日志
- 讀取0x Protocol事件日志
- 簽名
- 生成簽名
- 驗證簽名
- 測試
- 發幣龍頭
- 使用模擬客戶端
- Swarm存儲
- 創建 Swarm存儲
- 上傳文件到Swarm
- 從Swarm下載文件
- Whisper通信協議
- 創建Whisper客戶端
- 生成Whisper密匙對
- 在Whisper上發送消息
- 監聽Whisper消息
- 工具
- 工具集合
- 專有詞匯表
- 資源