EIP-2612 的 permit 方法是什麼?
2 min readOct 3, 2020
EIP-2612 替 ERC-20 標準增加了一個新的方法:permit
。
簡單來說:過去要 approve
後我們才能把代幣轉給別的合約。但如果該代幣支援了permit
(例如 DAI ),那我們就可以透過在鏈下用私鑰簽署產生一個簽章,而只要有這個簽章,別人(例如合約)就可以幫我們呼叫 permit
然後把代幣轉走。
所以如果隨著未來更多的代幣支援 permit
。到時跟智能合約互動,我們就可以:
- 有更好的用戶體驗(多一次的
approve
其實造成很多初學者的混淆) - 選擇用該代幣直接支付費用(也就是錢包裡甚至不需要有 ETH,最終呼叫智能合約的服務提供商會替我們支付 gas,而服務商可以直接選擇從我們的代幣裡扣除這筆費用)
而對實作細節有興趣的人,可以參考這一篇:
它用 MakerDAO 的 DAI 作為範例,解釋剛剛提到的簽章是怎麼產生的,以及怎麼驗證這個簽章是正確的。