在 dApp 中點擊按鈕時,究竟會發生什麼?👇
假設你正在使用一個去中心化應用,並點擊了“發送代幣”。
看起來只是一個簡單的操作。但在幕後,會發生好幾件事。
1√ 前端準備請求
你的 dApp 會使用界面和合約集成代碼,來準備你想執行的操作。
2√ 錢包請求授權
對於會改變區塊鏈狀態的交易,錢包會讓你查看請求並簽名。切勿簽署你不理解的內容。
3️⃣ 交易發送到網絡
簽名後的交易會通過 RPC 服務商提交到區塊鏈網絡。
4️⃣ 智能合約執行
網絡會根據合約代碼處理交易。如果交易成功,合約狀態就可能發生變化。
5√ 應用檢查結果
收到相關確認後,你的 dApp 可以跟蹤交易狀態並顯示結果。對於重要操作,它應該驗證交易回執和預期事件,而不是盲目相信前端顯示的成功消息。
這裏有一個新手經常忽略的細節:
讀取區塊鏈數據和修改區塊鏈數據並不一樣。
- “balanceOf()”通常可以通過只讀調用查詢代幣餘額,無需支付交易手續費。
- “transfer()”會改變區塊鏈狀態,通常需要簽署交易並支付網絡手續費。
具體流程取決於你使用的區塊鏈、錢包和合約。
作爲開發者,理解這一流程有助於我們構建更好的界面、妥善處理錯誤,並向用戶清晰展示交易狀態。
我正從全棧和 Web3 工程的角度探索這些概念,也會一路分享自己的學習心得。
想問問各位開發者:接下來我應該詳細講解哪一部分:錢包集成、RPC 服務商,還是交易回執?
#Web3Dev #SmartContracts #BinanceSquare
假設你正在使用一個去中心化應用,並點擊了“發送代幣”。
看起來只是一個簡單的操作。但在幕後,會發生好幾件事。
1√ 前端準備請求
你的 dApp 會使用界面和合約集成代碼,來準備你想執行的操作。
2√ 錢包請求授權
對於會改變區塊鏈狀態的交易,錢包會讓你查看請求並簽名。切勿簽署你不理解的內容。
3️⃣ 交易發送到網絡
簽名後的交易會通過 RPC 服務商提交到區塊鏈網絡。
4️⃣ 智能合約執行
網絡會根據合約代碼處理交易。如果交易成功,合約狀態就可能發生變化。
5√ 應用檢查結果
收到相關確認後,你的 dApp 可以跟蹤交易狀態並顯示結果。對於重要操作,它應該驗證交易回執和預期事件,而不是盲目相信前端顯示的成功消息。
這裏有一個新手經常忽略的細節:
讀取區塊鏈數據和修改區塊鏈數據並不一樣。
- “balanceOf()”通常可以通過只讀調用查詢代幣餘額,無需支付交易手續費。
- “transfer()”會改變區塊鏈狀態,通常需要簽署交易並支付網絡手續費。
具體流程取決於你使用的區塊鏈、錢包和合約。
作爲開發者,理解這一流程有助於我們構建更好的界面、妥善處理錯誤,並向用戶清晰展示交易狀態。
我正從全棧和 Web3 工程的角度探索這些概念,也會一路分享自己的學習心得。
想問問各位開發者:接下來我應該詳細講解哪一部分:錢包集成、RPC 服務商,還是交易回執?
#Web3Dev #SmartContracts #BinanceSquare