比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 火必APP > Info

一個示例來解釋EIP-712_比特幣

Author:

Time:1900/1/1 0:00:00

EIP-712是一種更高級、更安全的交易簽名方法。我們可以在UniswapV2的Periphery合約中看到EIP-712的實現。

但對于EIP-712卻很難被我們普通人所理解,本文就是根據一個示例來具體體驗EIP-712,以達到對其的更好理解。

在GitHub中有許多文章和示例解釋和展示了如何使用EIP-712,但在理解它作為一個整體是如何工作的以及前端代碼和智能合約是如何關聯的方面有很多困難。這是EIP712的一個示例(不是解釋)。先決條件和使用的版本。

Solidity基礎知識

npm7.19.1

節點16.2.0

Metamask9.8.4

truffle5.4.0

EIP-712

EIP-712是一種更高級、更安全的交易簽名方法。使用該標準不僅可以簽署交易并且可以驗證簽名,而且可以將數據與簽名一起傳遞到智能合約中,并且可以根據該數據驗證簽名以了解簽名者是否是實際發送該簽名的人要在交易中調用的數據。

摩根溪創始人:貝萊德申請的并非比特幣ETF,而是一個信托:金色財經報道,摩根溪創始人Apompliano在社交媒體上發文稱,貝萊德申請的并非比特幣ETF,而是一個比特幣信托,這些產品只是在技術上有所不同,尤其是在監管和批準方面,不過對于投資者而言最終的結果是相似的。最好的結果是真正的比特幣現貨ETF被SEC批準。但這不是ETF,不認為貝萊德在沒有信心的情況下提交信托會被批準。這種發展有一些潛在的后果。GBTC可能被迫引入每日贖回來競爭。GBTC可能被迫削減費用。許多華爾街公司可能會推出快速跟進的產品來與貝萊德競爭,媒體的關注可能導致資金流入比特幣。[2023/6/16 21:41:33]

EIP-712提出了數據的標準結構和從結構化消息生成散列的定義過程。然后使用此散列生成簽名。通過這種方式,為發送交易生成的簽名與為驗證身份或任何其他目的生成的簽名之間就有了明顯的區別。EIP-712草案將簽名方案背后的動機表述為:

Asymmetric創始人:管理加密貨幣實際上是在管理一個流動的組合:金色財經報道,Asymmetric創始人Joe McCann表示,傳統風險投資者沒有必要的交易工具和經驗(如衍生品和其他金融合同,來對沖流動資產的風險),而加密貨幣相對于早期創業公司的股權來說,本來就是流動資產。這種差異是風險投資公司在加密貨幣領域運作的一個主要障礙。

Joe McCann說,“有一個脆弱的聲譽,行業中的很多人可能會擔心,嘿,我將投資這家初創公司,我們將長期參與,我們永遠不會獲得利潤或出售代幣”。問題是,這對傳統的風險投資來說是很好的,通常你在10到12年內都不會有流動性事件,對于加密貨幣,我們知道它在幾個月內就會變得有流動性。因此,你管理傳統風險投資組合的方式不再有意義,你實際上是在管理一個流動的組合。[2022/10/26 11:45:06]

提高鏈上使用的鏈下消息簽名的可用性。我們看到越來越多的人采用鏈下消息簽名,因為它節省了gas,減少了區塊鏈上的交易數量。

CSDN創始人:下一個十年將是區塊鏈的十年:CSDN(中國開發者社區)創始人、董事長,極客幫創投創始合伙人蔣濤表示,下一個十年將會是人工智能的十年、物聯網的十年以及區塊鏈的十年。未來,軟件業的發展將由開源生態來推動,下階段,誰掌握開源生態,誰就能搶奪先機。(長沙晚報)[2020/11/4 11:34:48]

EIP-712是類型化結構化數據的哈希和簽名的標準,而不僅僅是字節字符串。它包括一個

編碼函數正確性的理論框架,

與solid結構相似并兼容的結構化數據規范,

安全哈希算法用于這些結構的實例,

在可簽名消息集中安全包含這些實例,

一個可擴展的域分離機制,

新的RPC調用eth_signTypedData,

EVM中哈希算法的優化實現。

分析 | 近一個月EOS/ETH/TRON?Dapp總交易筆數均呈下降趨勢:據RatingDapp和RatingToken大數據監測顯示,最近一個月, EOS 月交易筆數大于零Dapp343款,總計交易筆數111331934,環比上月下降1.35%;ETH 月交易筆數大于零Dapp489個,總計交易筆數2092381,環比上月下降1.77%;TRON 月交易筆數大于零Dapp295個,總計交易筆數34913991,環比上月下降13.76%。[2019/5/15]

EIP-712的實現可以在UniswapV2的Periphery合約中看到,它通過許可移除流動性,最終調用UniswapV2Core中的方法來完成這一操作。

前端的簽名被傳遞給Periphery中的方法,簽名被用來代表Core中使用該方法的用戶批準Router合約。

示例代碼

歷史上的今天 2013年4月份成為比特幣暴漲的一個月:2013年,價格原本緩緩上升的比特幣在進入4月后價格猛然暴漲,在2013年4月9日漲至4月份最高峰值195.397美元,相比2013年年初的13美元的價格,暴漲了15倍左右,而隨后比特幣價格出現回落現象,直至2013年4月11日,比特幣價格跌回115美元。[2018/4/11]

我們的示例將使用EIP-721提案用數據(地址、storedData的值和截止日期)簽署交易,這些數據用于更改合約中變量的值。

如果簽名和散列給出了簽署人的地址,并且沒有超過截止日期,則更改storedData的值。

這是一個無用的例子,但理解了它將確保您可以在其他地方使用該標準。正確使用EIP-712是創建一個ERC20許可證,就像Uniswap團隊所做的那樣。

步驟1

繼續克隆truffle的reactbox。

我們將根據需要簡單地調整和添加代碼,以使EIP-712正常工作。

步驟2

數據是EIP-712中最關鍵的部分。這些要簽名的數據必須符合預定義的格式。它必須有一個EIP712Domain和要簽名的數據(在我們的示例中設置)。兩者的組合將被簽名并發送給智能合約進行驗證。

在EIP-712下簽名的每個數據必須有一個EIP712Domain和另一個數據。這兩者的結構可以是任何東西,但必須在JS代碼和SC代碼上相同。

當使用該提案時,EIP712Domain的結構是一個被廣泛接受的標準。

?EIP-712數據標準

EIP712Domain有一些參數,這些參數指定在哪個網絡和哪個特定合約上將用于驗證簽名。另一份具有相同代碼的合同將無法驗證該簽名。

步驟3

讓我們添加一個按鈕,當單擊該按鈕時,將彈出元掩碼,使用eth_signTypedData_v3方法對數據進行簽名。

步驟4

一旦簽署了上面定義的數據使用eth_signTypedData_v3方法我們得到了簽名和簽名分割成其r,s,和v組件并將其發送到智能合約將使用ercrecover這些參數和數據哈希恢復簽名者的公鑰。

拆分簽名

步驟5

編寫智能合約。

就像我們定義了包含EIPdomain和要簽名的數據的JS代碼一樣,智能合約也需要兩個變量來表示每個EIPdomain的散列數據和我們的數據(在本例中是設置數據)。

使用ercrecover

在UI端,我們對數據進行簽名,并將r、s和v發送給智能合約。

上面的代碼做了兩件事,首先它散列數據并生成它們的散列。接下來,它使用該數據的散列(在SC中稱為散列)和簽名,使用ercrecover方法生成簽名者的公鑰。

上面顯示的數據的兩個kecak哈希值應該類似于在outJS代碼中定義的數據結構。如果兩者不同,則無法恢復簽名者的地址。

簽名數據的結構

步驟6

將infura中的助記符添加到truffle-config.js文件(第3行),并指定部署者的地址(第18行)。上面的例子使用了rinkebytestnet,但是任何測試都可以使用,并查看truffle文檔來部署到其他測試網。

然后部署合同。部署后復制simplestorage的地址,替換為verifyingContract下app.js第76行的地址。

部署代碼片段

步驟7

進入client目錄,運行npmrunstart啟動react應用。

按下'Presstosign'按鈕,然后在元掩碼彈出的簽名請求上簽名。接下來,確認交易以設置智能合約上的值。

交易完成后,刷新webapp以查看所反映的變化。

Tags:比特幣APPMAIDomain比特幣多少錢一個人民幣聚幣appEMAIDTrust Domains

火必APP
用加密村的故事讀懂以太坊 EIP-1559_以太坊

頗受關注也富有爭議的EIP-1559提案就要在本周上線,這會給以太坊經濟學帶來什么改變?萬眾矚目的以太坊倫敦升級將于12965000區塊高度,預計北京時間8月5日,在主網正式上線.

1900/1/1 0:00:00
NFT的瘋狂周末:兩日交易額9320萬美元_NFT

這個周末是屬于NFT的。當你打開DuneAnalytics的OpenSea數據統計頁面便會發現,7月31日和8月1日兩天,這家全球最大的NFT交易平臺的單日交易額高達3946萬美元和5374萬美.

1900/1/1 0:00:00
以太坊主網 “倫敦” 升級公告_SLIM

編者注:感謝ETH中文站翻譯了以太坊基金會發出的?“倫敦”?升級公告以及Geth客戶端團隊的版本更新聲明.

1900/1/1 0:00:00
Coinbase CEO炮轟美國新稅收提案“毫無意義” 將破壞美國的加密創新_NBA

美國兩黨基建法案要求擴大加密貨幣稅收報告的提案受到多位業內人士的質疑。該提案將對處理加密貨幣的企業實施更嚴格的規則,擴大對經紀人的報告要求,并要求經紀人向美國國稅局報告價值超過10,000美元的.

1900/1/1 0:00:00
美股加密資產大盤點:資產普遍減值、機構投資者仍然看多_比特幣

編者按:二季度上市企業的加密資產普遍減值,但多數機構投資者仍然看多。近期,多家比特幣大戶相繼發布其二季度財報,并披露了其加密資產情況.

1900/1/1 0:00:00
對話大島巖:NFT是一種所有權象征 有?NFT?意味著擁有了基礎資產所有權主張_元宇宙

7月22日14:00,N.FansCMO大島巖做客金色微訪談第31期直播間,本次直播由金色財經花花主持,主題為“NFT+元宇宙,一時熱點還是發展必然?”.

1900/1/1 0:00:00
ads