解析 4-byte Function Signature

I. 什麼是 4-byte Function Signature ?

在以太坊智能合約中,開發者通常會命名本合約需要調用的函數,而這些函數名稱通過哈希等運算及編碼,取前四位的字節,最終得到了智能合約中的 4-byte Function Signatur,點擊這裡查看更多關於 4-byte Function Signature 信息。

II. 為什麼要開發此功能?

Keystone 的願景和使命是讓交易更安全可靠。

Keystone 已經為用戶提供了 ABI 解析的功能,在收到了用戶認可的同時,也收到了許多用戶的反饋,希望 Keystone 可以解析更多的內容,將這些智能合約中的字節轉化為人類可讀的語言。於是在 ABI 解析功能的基礎上,推出了 4-byte Function Signature 的解析,幫助用戶在簽名的時候若未能進行 ABI 解析則會繼續解析 4-byte Function Signature 這樣可以看到智能合約調用了哪些函數,從側面增加了簽名的安全性。

III. 解析 4-byte Function Signature

Keystone 錢包的 V6.0.0 (多幣種) 及以上多幣種固件版本已支持解析 4-byte Function Signature。本教程將以 MetaMask 為例,展示如何使用 Keystone 解析4-byte Function Signature。

1. 準備

1)將 Keystone 的固件版本升級到 V6.0.0 (Multi-Coin)或以上版本, (有關更多詳情,請閱讀如何升級固件

2)綁定“ MetaMask Extension ”(如何綁定 MetaMask)。

3)準备 MicroSD 記憶卡(要求:默認 FAT32 格式,且不超過 512GB,否則無法被 Keystone 識別)。

提示:Keystone 可以將 Micro SD 卡格式化為 FAT32。(教程

4) MicroSD 記憶卡讀卡器(如果電腦支持直接插入 MicroSD 記憶卡,則無需準備)。

2.操作

1)將 Micro SD 記憶卡插入電腦,下載 method_signatures,下載完成後,解壓文檔,講解壓文檔“selector”並拷貝到 Micro SD 記憶卡的根目錄。

小貼士:您可以使用開源工具小貼士查看 Selector 中的數據。點擊此處在 “GitHub > REDEME” 中下載開源工具。

2)3. 將 MicroSD 記憶卡插入 Keystone 錢包設備。

3)創建一筆 DeFi 交易,生成待簽名的二維碼 (本教程通過連接 MetaMask 在 Sushiswap 上創建交易舉例)。

4)Keystone 端:點擊【菜單】> 【選擇軟件錢包】>【MM / DeFi / Web3】>【確認】,在此模式下,點擊主頁右上角 “掃描” 按鈕,攝像頭打開後對準 MetaMask 彈出來的待簽名交易二維碼進行掃描。

5)Keystone 將讀取到 MicroSD 記憶卡中匹配的 4-byte Function Signature 數據,解析該筆交易的資訊並展示所有可能調用的函數(只有在ABI數據未能解析時,才會進一步解析 4-byte Function Signature )

注意事項: 1. 簽名交易時,需保持含有 Selector 資料庫的 MicroSD 記憶卡始終插在 Keystone 錢包中,不可中途將 MicroSD 記憶卡拔出,否則會導致交易無法解析。

2. Keystone 錢包設備對之前已經讀取過的 Selector 不會有記憶,因此每一次簽名交易時,都需要將含有 Selector 資料庫的 MicroSD 記憶卡插入 Keystone 錢包設備中,直到不需要再做任何簽名時方可拔出 MicroSD 記憶卡。

最后更新于