Golang学习Web 3.0的最佳途径有哪些

Golang学习Web 3.0的最佳途径有哪些 有人知道在哪里可以找到学习和研究 Golang Web 3.0 的教育材料吗?

我指的是例如:官方文档、书籍、YouTube 博主……我不太清楚,请帮帮我!

我真的很想专注于使用 Golang 的这项技术,但目前很难找到相关信息。

4 回复

随时欢迎!

更多关于Golang学习Web 3.0的最佳途径有哪些的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


非常感谢您,先生!我真的很感激您付出的时间和给予的帮助!

你好 @deiCB

Web 3.0 在很大程度上与区块链技术相关联。因此,Ardan Lab 的 Bill Kennedy 撰写的关于区块链的博客系列可能是一个不错的起点。

话虽如此,Web3 主题和 Go 语言主题在很大程度上是相互独立的。应该可以分别学习它们。

对于寻找Golang Web 3.0的学习材料,以下资源值得关注:

1. 官方文档与SDK:

  • 以太坊Go客户端 (go-ethereum):这是最核心的Go语言Web3库。深入研究其源码和文档是理解区块链交互的关键。
    • GitHub: https://github.com/ethereum/go-ethereum
    • 示例:使用go-ethereum连接以太坊节点并获取区块号
      package main
      
      import (
          "context"
          "fmt"
          "github.com/ethereum/go-ethereum/ethclient"
          "log"
      )
      
      func main() {
          client, err := ethclient.Dial("https://mainnet.infura.io/v3/YOUR_PROJECT_ID")
          if err != nil {
              log.Fatal(err)
          }
          header, err := client.HeaderByNumber(context.Background(), nil)
          if err != nil {
              log.Fatal(err)
          }
          fmt.Println("Latest block number:", header.Number.String())
      }
      

2. 专门库:

  • web3.go:一个较新的、模块化的Go Web3库,提供了更现代的API设计。
    • GitHub: https://github.com/chenzhijie/go-web3
    • 示例:查询ETH余额
      package main
      
      import (
          "context"
          "fmt"
          "github.com/chenzhijie/go-web3"
          "math/big"
      )
      
      func main() {
          web3, err := web3.NewWeb3("https://mainnet.infura.io/v3/YOUR_PROJECT_ID")
          if err != nil {
              panic(err)
          }
          balance, err := web3.Eth.GetBalance("0x...", nil) // 替换为地址
          if err != nil {
              panic(err)
          }
          ethValue := new(big.Float).Quo(new(big.Float).SetInt(balance), big.NewFloat(1e18))
          fmt.Printf("Balance: %v ETH\n", ethValue)
      }
      

3. 书籍与教程:

  • 《Building Ethereum DApps with Go》(在线教程):逐步指导如何使用Go构建去中心化应用。
  • 官方go-ethereum的“Go Ethereum Code Walk”:通过代码示例讲解核心概念。

4. 视频与社区:

  • YouTube频道:搜索“Golang Ethereum”、“Go Web3 development”等关键词,一些开发者会分享实战教程。
  • Discord/Slack频道:加入go-ethereum、以太坊开发者社区的频道,直接向核心贡献者提问。

5. 实践项目:

  • 从简单的区块链数据查询开始,逐步实现:
    • 监听事件
    • 发送交易
    • 与智能合约交互
  • 示例:调用ERC-20合约的totalSupply函数
    // 使用go-ethereum的ABI包
    // 1. 编译合约获取ABI JSON
    // 2. 使用abi.JSON和ethclient.CallContract进行调用
    

关键是通过直接研究这些库的源代码和测试文件来学习,因为Web3领域变化较快,文档可能滞后。先从主网数据查询等只读操作开始,再逐步尝试写入操作。

回到顶部