學習隨想錄-- web3學習入門計劃

#60

轉方向 web3 golang 以太坊應用

這是課表部分(Golang以太坊方向) Sheet

b站up學習計劃

第一階段:基礎能力構建(1-2 個月)

學習目標

掌握 Golang 核心語法與以太坊底層基礎概念,建立開發知識框架。

核心內容
  1. Golang 進階強化

  • 重點掌握:goroutine與channel并發模型、接口(interface)設計、指針操作、標準庫(encoding/json、net/http、sync等)

  • 實踐任務:編寫并發爬蟲工具(模擬多節點數據獲取場景)、實現基于接口的模塊化代碼(為后續合約交互抽象做準備)

  1. 以太坊基礎理論

  • 核心概念:區塊鏈結構(區塊頭、交易列表)、賬戶模型(外部賬戶 EOA 與合約賬戶 CA)、Gas 機制、共識算法(PoW/PoS)

  • 學習資源:以太坊黃皮書(精簡版)、《Mastering Ethereum》第 1-3 章

  1. 開發環境搭建

  • 安裝配置:Golang(1.20+)、Geth 客戶端、Remix IDE(合約編譯工具)、Postman(API 測試)

  • 實踐操作:啟動本地測試網(geth --dev)、創建測試賬戶、進行本地轉賬交易

階段成果

能獨立編寫 Golang 并發程序,理解以太坊核心概念,成功搭建本地開發環境并完成基礎交易。

第二階段:核心工具與庫應用(1-2 個月)

學習目標

熟練使用go-ethereum庫,實現與以太坊節點的各類交互操作。

核心內容
  1. go-ethereum 庫核心模塊

  • ethclient:節點連接(Dial方法)、區塊查詢(BlockByNumber)、交易獲取(TransactionByHash)

  • 實踐任務:編寫程序查詢指定地址的歷史交易記錄,按時間排序并輸出

  1. 賬戶與私鑰管理

  • crypto包:私鑰生成(GenerateKey)、公鑰推導(FromECDSA)、地址計算(PubkeyToAddress)

  • 安全實踐:私鑰加密存儲(使用scrypt算法)、硬件錢包交互(Ledger 接入原理)

  • 實踐任務:開發簡易密鑰管理器,支持私鑰導入、地址生成、加密備份

  1. 交易構建與發送

  • 交易結構:types.Transaction字段解析(To、Value、Gas等)

  • 簽名流程:NewKeyedTransactor創建簽名器、SignTx簽名交易、SendTransaction上鏈

  • 實踐任務:實現 ETH 轉賬功能,支持自定義 Gas 價格與 Gas 限額,處理交易確認回調

階段成果

能使用go-ethereum庫完成節點連接、賬戶管理、交易發送等核心操作,理解交易生命周期。

第三階段:智能合約交互(1-2 個月)

學習目標

掌握智能合約的部署、調用及測試方法,理解 ABI 交互原理。

核心內容
  1. 合約基礎與 ABI

  • Solidity 基礎:變量類型(uint256、address)、函數可見性(public/external)、事件(event)

  • ABI 解析:JSON 格式說明、函數選擇器(4字節哈希)、參數編碼 / 解碼(abi.Pack/abi.Unpack)

  • 實踐任務:使用 Remix 編寫簡單存儲合約(Storage.sol),生成 ABI 與字節碼

  1. abigen 工具使用

  • 代碼生成:通過 ABI 生成 Golang 綁定代碼(abigen --abi=Storage.abi --pkg=storage --out=storage.go)

  • 實踐任務:調用生成的代碼部署合約,實現setValue與getValue方法交互

  1. 合約測試與調試

  • 測試框架:go test結合ethclient模擬測試網環境

  • 調試技巧:使用Geth日志(--verbosity 5)查看合約執行細節、處理revert錯誤

  • 實踐任務:為 Storage 合約編寫完整測試用例,覆蓋正常調用與異常場景(如權限校驗)

階段成果

能獨立部署智能合約,通過 Golang 代碼完成合約方法調用與事件監聽,編寫合約測試用例。

第四階段:進階開發與優化(1-2 個月)

學習目標

掌握高級特性與性能優化技巧,應對復雜開發場景。

核心內容
  1. ERC 標準實現

  • ERC20:轉賬(transfer)、授權(approve)、余額查詢(balanceOf)

  • ERC721:NFT 鑄造(mint)、所有權轉移(transferFrom)

  • 實踐任務:用 Golang 開發 ERC20 代幣轉賬批量處理工具,支持多地址批量分發

  1. Gas 優化策略

  • 代碼層面:減少鏈上存儲(storage→memory)、復用計算結果

  • 交易層面:動態 Gas 價格(SuggestGasPrice)、批量交易打包

  • 實踐任務:對比優化前后的合約調用 Gas 消耗,量化優化效果

  1. 多鏈與 Layer2 適配

  • 鏈 ID 管理:不同網絡(以太坊主網、Sepolia 測試網、Arbitrum)鏈 ID 配置

  • RPC 差異處理:Layer2 特有的estimateGasL1等方法適配

  • 實踐任務:修改現有工具支持 Arbitrum 測試網,實現跨鏈資產查詢

階段成果

能開發符合 ERC 標準的工具,實現 Gas 優化,適配多鏈環境,解決復雜場景問題。

第五階段:實戰項目開發(2-3 個月)

學習目標

通過完整項目整合所學知識,提升工程化能力。

推薦項目
  1. 去中心化錢包后端

  • 核心功能:賬戶管理、多鏈資產查詢、交易簽名、NFT 收藏夾

  • 技術要點:goroutine處理異步交易確認、channel實現事件通知、數據庫存儲交易記錄

  • 擴展任務:接入 Chainlink 價格預言機,實現資產估值功能

  1. 區塊瀏覽器 API 服務

  • 核心功能:區塊實時同步、交易詳情查詢、地址持倉分析

  • 技術要點:ethclient批量數據獲取、緩存策略(redis)、API 限流

  • 擴展任務:實現交易可視化圖表(集成 ECharts 前端)

  1. DeFi 流動性挖礦監控工具

  • 核心功能:實時收益計算、風險預警(如無常損失)、自動復投觸發

  • 技術要點:合約事件監聽(FilterLogs)、數學計算(浮點數精確處理)

  • 擴展任務:對接通知渠道(Telegram / 郵件),推送關鍵信息

階段成果

完成 1-2 個實戰項目,具備獨立開發以太坊相關應用的能力,理解工程化開發流程。

學習資源與工具推薦

  1. 官方文檔

  • go-ethereum 官方文檔

  • 以太坊開發者文檔

  1. 書籍與課程

  • 《Ethereum Development with Go》

  • Udemy 課程《Go Programming for Ethereum Developers》

  1. 社區與工具

  • GitHub:ethereum/go-ethereum(源碼學習)

  • 測試網水龍頭:Sepolia Faucet、Alchemy Faucet

  • 調試工具:Etherscan(交易查詢)、Tenderly(合約調試)

時間規劃與里程碑

  • 1-2 個月:完成基礎階段,輸出 Golang 并發程序與本地節點交互 demo

  • 3-4 個月:掌握核心庫使用,輸出交易管理工具(含私鑰安全存儲)

  • 5-6 個月:完成智能合約交互模塊,輸出 ERC20 代幣批量轉賬工具

  • 7-9 個月:完成實戰項目,部署去中心化錢包后端或區塊瀏覽器 API

通過按階段推進,逐步積累知識與實踐經驗,最終具備 Golang 以太坊開發的核心競爭力,可勝任區塊鏈開發工程師、Web3 后端開發等崗位。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/93036.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/93036.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/93036.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【RAG優化】PDF復雜表格解析問題分析

在構建檢索增強生成(RAG)應用時,PDF文檔無疑是最重要、也最普遍的知識來源之一。然而,PDF中潛藏著RAG系統的難點問題——復雜表格。這些表格富含高密度的結構化信息,對回答精準問題至關重要,但其復雜的視覺布局(多層表頭、合并單元格、跨頁表格等)常常讓標準的文本提取…

ReAct Agent(LangGraph實現)

文章目錄參考資料一 AI Agent二 ReAct三 LangGraph實現ReAct代理3.1 SerperAPI實時聯網搜索3.2 ReAct實現參考資料 entic RAG 架構的基本原理與應用入門 一 AI Agent AI Agent 整個過程是一個動態循環。Agent不斷從環境中學習,通過其行動影響環境,然后…

如何從0到1的建立組織級項目管理體系【現狀診斷】

今天我想給大家分享是“如何在企業中從0到1的去建立PMO的組織級項目管理體系。”的系列文章,這是我近幾年來一直在努力的嘗試去探索和實踐的過程,從0到1的過程。當我最開始去接手這樣一個場景的時候所需要做的第一件事情是診斷和差距分析。這是多年以來做…

網絡通信協議詳解:TCP協議 vs HTTP協議

在計算機網絡中,TCP(傳輸控制協議)和HTTP(超文本傳輸協議)是兩個核心協議,但它們的職責和層級完全不同。TCP是底層傳輸協議,負責數據的可靠傳輸;HTTP是應用層協議,定義了…

[Qt]QString隱式拷貝

引言在Qt框架中,QString 作為字符串處理的核心類,其高效的內存管理機制一直是開發者津津樂道的特性。這背后的關鍵便是 隱式共享(Implicit Sharing),也稱為 寫時復制(Copy-On-Write, COW)。本文…

命令行創建 UV 環境及本地化實戰演示—— 基于《Python 多版本與開發環境治理架構設計》的最佳實踐

命令行創建 UV 環境及本地化實戰:基于架構設計的最佳實踐 Python 多版本環境治理理念驅動的系統架構設計:三維治理、四級隔離、五項自治 原則-CSDN博客 使用 Conda 工具鏈創建 UV 本地虛擬環境全記錄——基于《Python 多版本與開發環境治理架構設計》-CS…

跨域問題全解:從原理到實戰

在計算機網絡中,跨域(Cross-Origin) 指的是瀏覽器出于安全考慮,限制網頁腳本(如 JavaScript)向與當前頁面不同源(Origin) 的服務器發起請求的行為。這是由瀏覽器的同源策略&#xff…

(46)elasticsearch-華為云CCE無狀態負載部署

一、準備好elasticsearch鏡像并提前上傳到鏡像倉庫 此次準備的是elasticsearch:v7.10.2 二、開始部署 負載名稱:es-deployment 注意:內部配額太低會造成多次重啟 環境變量: #單節點啟動(實例pod可以多增加幾個) discovery.type single-node 三、添加svc 四、注意:…

HCLP--MGER綜合實驗

一、拓撲圖二、需求1、R5為ISP,只能進行IP地址配置,其所有地址均配為公有I地址; 2、R1和R5間使用PPP的PAP認證,R5為主認證方, R2與R5之間使用ppp的CHAP認證,R5為主認證方; R3與R5之間使用HDLc封裝; 3、R1、R2、R3構建一…

idea中無法刪除模塊,只能remove?

1.先對module右鍵想要刪除的module,選擇remove module(這是idea為了避免誤操作) 2.在remove module后,模塊并未從項目結構中刪除(磁盤中也依舊存在),但再次右擊你會發現,出現了del…

青藤天睿RASP再次發威!捕獲E簽寶RCE 0day漏洞

在2025年HVV關鍵攻防節點上,攻擊隊對E簽寶電子合同服務發起的0day攻擊被青藤天睿RASP截獲。該漏洞可使攻擊者在未授權情況下實現服務器遠程代碼執行(RCE),進而控制服務器,構成橫向滲透的關鍵跳板。>>>>漏洞…

Lua(字符串)

Lua字符串基礎Lua中的字符串是不可變序列,可以包含任意字節數據(包括嵌入的\0)。字符串可以用單引號、雙引號或長括號([[ ]])定義:str1 "Hello" str2 World str3 [[Multi-line string]]字符串…

大模型蒸餾(distillation)---從DeepseekR1-1.5B到Qwen-2.5-1.5B蒸餾

目錄 1.1 蒸餾目標 2 環境準備 2.1依賴庫安裝 2.2 硬件要求 2.3 模型與數據集下載 2.3.1 教師模型下載 2.3.2 學生模型下載 2.3.3 數據集準備或下載 3.過程日志 4. 模型加載與配置 4.1 加載教師模型 4.2 加載學生模型 4.3 數據預處理函數 4.4 數據收集器 4.5 定義…

通過redis_exporter監控redis cluster

環境說明: 現在有一套redis cluster,部署是3主機6實例架構部署。需要采集對應的指標,滿足異常監控告警,性能分析所需。 環境準備 以下環境需要提前部署完成。 redis cluser prometheus alertmanager grafna redis_exporter部署 我…

第二十天(正則表達式與功能實際運用)

在程序員一生的工作中,遇到的最多的數據就是字符串字符串里面很有可能有很多的不需要的信息我們需要從中間挑選出我們需要的如果循環去寫,比較簡單的時候問題不大規則多了,你的工作量會成倍上升的為了解決這個問題 ---- 正則表達式正則表達式…

0基礎法考隨手筆記 03(刑訴05 刑事證據與證明+06 強制措施)

1.如何區分書證和電子數據 書面材料是否為書證?→ 看內容是否直接源于案件事實(不是 “記錄別人陳述” 的載體)。 證據清單是否為證據?→ 看誰做的清單(偵查人員做的勘查筆錄是證據,當事人做的目錄不是&…

資產負債表及其數據獲取

文章目錄資產負債表及其數據獲取資產負債表資產負債表在股票投資中的意義AKShare中的資產負債表數據接口(深滬為例)接口描述調用示例總結資產負債表及其數據獲取 資產負債表 資產負債表(Balance Sheet)是反映企業在某一特定日期財…

數據倉庫深度探索系列 | 開篇:開啟數倉建設新征程

數據倉庫深度探索系列 | 開篇:開啟數倉建設新征程 在當今信息技術飛速發展的背景下,企業面臨著數據量的爆炸式增長。企業不僅要高效管理海量數據,還需從中提取關鍵信息以支持復雜決策。數據倉庫已從單純的數據存儲工具,演變為支持…

Linux如何執行系統調用及高效執行系統調用:深入淺出的解析

文章目錄如何執行系統調用及高效執行系統調用:深入淺出的解析一、什么是系統調用?1.1 系統調用的作用1.2 系統調用的分類二、如何執行系統調用?2.1 系統調用的觸發2.2 庫函數與系統調用的關系2.3 系統調用的示例2.4 錯誤處理三、如何高效執行…

基于 XGBoost 與 SHAP 的醫療自動化辦公與可視化系統(上)

摘要 隨著信息技術的飛速發展和醫療健康數據的爆炸式增長,現代醫療機構面臨著日益復雜的數據處理挑戰。醫生和行政人員常常需要花費大量時間在數據提取、整理、分析和報告生成等重復性、事務性的工作上,這不僅降低了工作效率,也限制了醫護人員將更多精力投入到直接的患者護…