第一次用?合約呼叫工具約 8 分鐘看完再動手

合約呼叫工具

貼上合約地址與 ABI 後,頁面會按 ABI 動態列出所有可讀與可寫方法。 讀取無需連線錢包;寫入會先模擬執行,引數異常在簽名前提示。 呼叫次數填 1 就是單次呼叫,填更多則按間隔重複執行、逐次顯示結果。 如果你要操作的是自己建立的代幣,回代幣管理會更省事——那裡已經按型別配好了介面。

合約與 ABI

先用 ABI 列出可呼叫的方法,再填引數與執行方式。單次與重複共用這一套輸入: 次數填 1 是「調一次」,填 N 就是重複執行 N 次。

合約呼叫工具:讀寫任意合約

貼上合約地址和 ABI,工具會按 ABI 生成全部方法:讀取方法直接把返回值印在頁面上,寫入方法可以先靜態呼叫(不花 gas)模擬一遍再真發,失敗時列印完整的 revert 原因,而不是一句「呼叫失敗」。

讀方法
不連錢包也能調,不用簽名
寫方法
先跑一遍靜態呼叫,revert 在簽名前就被攔下
下次再用
合約地址、ABI、引數都快取在你瀏覽器裡
失敗時
列印具體的 revert 原因,不是隻給一句「失敗」

怎么做

  1. 1. 貼上合約地址,或從已儲存的合約裡選

    常用合約的地址和 ABI 會存在瀏覽器裡,下次點兩下就能用。

  2. 2. 貼上 ABI

    從區塊瀏覽器的合約原始碼頁複製。表單按 ABI 生成,結構體、陣列引數都支援。

  3. 3. 呼叫讀取方法

    讀取不需要錢包、不花 gas,多返回值也會分行列印,地址都能一鍵複製。

  4. 4. 寫入先靜態呼叫再發送

    靜態呼叫按真實執行跑一遍但不改狀態、不花 gas,結果或 revert 原因先看清楚,再真發。

常见问题

沒有 ABI 能呼叫嗎?
不能。ABI 決定表單怎麼編碼引數、怎麼解碼結果。去區塊瀏覽器的已驗證原始碼頁複製一份即可。
寫入方法能不花 gas 先試嗎?
能。靜態呼叫就是幹這個的:不花 gas、不改狀態,直接告訴你結果或失敗原因。
重新整理之後儲存的合約還在嗎?
在。地址和 ABI 存在瀏覽器裡,下次從列表裡選,不用重新粘。
呼叫為什麼失敗?
控制台會打印合約返回的 revert 原因,多數情況下能直接看出是哪個引數或許可權不對。