比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads

AIN:一個示例來解釋EIP-712_Kingdom Karnage

Author:

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

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

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

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

Solidity基礎知識

npm 7.19.1

節點 16.2.0

Metamask 9.8.4

truffle 5.4.0

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

Glassnode:ETH盈利地址數達一個月高點:金色財經消息,Glassnode數據顯示,ETH盈利地址數達一個月高點,七日均值為45,260,283.143。[2022/7/20 2:25:26]

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

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

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

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

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

4億美元的USDT從火幣轉移到一個未知錢包:金色財經報道,Watcher.Guru在社交媒體上稱, 4億美元的USDT從火幣轉移到一個未知錢包。[2022/7/13 2:10:30]

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

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

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

新的RPC調用eth_signTypedData,

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

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

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

軟銀金融研究院彭和平:IPFS分布式存儲可能會作為一個細分賽道蓬勃發展:由開源礦池和火幣主辦,金色算力云、鏈上ChainUP、Filecoin Beijing聯合主辦的“分布式存儲中國行暨開源礦池IPFS私享會”2020年11月25日在深圳舉行。軟銀金融研究院彭和平在會上表示,從今年開始到未來的若干年中,IPFS分布式存儲可能會作為一個細分賽道蓬勃發展。一方面是因為大眾對數據應用如視頻、數據存儲有剛性需求,另一方面是國家把數據作為新型生產資料進行了立法,人們對這部分的認知提高了一個維度。從全局來看,IPFS雖然說代表了一種新生力量,但是全局來看金融屬性比較強,目前官方已經從算法和激勵機制方面進行了調整,并且不斷的擴大落地應用,也證明這個項目未來可期。[2020/11/25 22:07:54]

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

分析師:比特幣看漲行情尚未結束 正在接近下一個阻力位1.4萬美元:加密貨幣分析師Tone Vays表示,推動比特幣突破1.2萬美元阻力的看漲行情尚未結束。隨著比特幣接近1.4萬美元的下一個阻力位,該分析師預測,市場參與者將開始獲利了結。盡管Vays認為市場即將出現調整,但他長期看好比特幣。(The Daily Hodl)[2020/10/26]

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

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

繼續克隆 truffle 的react box。

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

動態 | 比特幣礦業巨頭BTC.com將推出一個以太坊礦池:據thenextweb報道,加密貨幣挖掘硬件巨頭比特大陸的子公司BTC.com今天發布了一個專門用于挖掘以太坊區塊鏈的新客戶端。BTC.com礦場負責人表示,“我們預計采礦業務在未來12個月內將增長到以太坊總哈希值的12%”。[2018/8/30]

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

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

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

 EIP-712 數據標準

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

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

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

拆分簽名

編寫智能合約。

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

使用 ercrecover

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

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

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

簽名數據的結構

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

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

部署代碼片段

進入client目錄,運行npm run start啟動react應用。

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

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

Tags:AINOMADOMMAIwealthchainOMA幣Kingdom KarnageCMAI

以太坊交易
以太坊:以太坊6周年 回顧這六年以來以太的發展史_泰達幣USDT官網

以太坊于2015年7月30日推出。2015 年7月30日,以太坊的第一個版本發布。自成立以來的六年時間里,該網絡經受住了近乎災難性的早期攻擊,經歷了有爭議的硬分叉,市值達到了 2700 多億美元.

1900/1/1 0:00:00
以太坊:EIP-1559 升級近在咫尺 以太坊能否舊貌換新顏?_NFT2$

原標題:EIP-1559: What Happens Next for Ethereum以太坊的倫敦硬分叉將于本周到來,與之一同到來的是 EIP-1559 以太坊改進提案.

1900/1/1 0:00:00
EFI:從三個維度分析DeFi連環清算問題的解決方案_ENV Finance

來自DeFi借貸協議的連環爆倉清算是DeFi世界最重大的系統性風險之一,由于過多的清算量以及市場流動性不足,每次市場行情劇烈變化之際都會引起市場的進一步動蕩,不僅導致抵押借款人產生額外損失.

1900/1/1 0:00:00
區塊鏈:金色早報 | Facebook將成立元宇宙產品組_什么叫做區塊鏈技術的概念

頭條 ▌特斯拉Q2財報:現持有比特幣價值為13億美元7月27日消息,美國當地時間本周一,特斯拉發布了二季度財報,其中顯示該公司沒有新增購買和拋售數字資產,當前持有比特幣的價值為13億美元.

1900/1/1 0:00:00
比特幣:金色觀察 | 碳中和下的加密貨幣市場_SPUNK Vault (NFTX)

“碳中和”一詞正在加密貨幣市場快速流行起來。自特斯拉CEO馬斯克(Elon Musk)說比特幣可以持續生產之前不會使用或接受比特幣后,社會層面對于加密貨幣環境影響的討論便再度躍上臺面,更成為比特.

1900/1/1 0:00:00
NBS:去中心化金融成為監管重地:如何將 DeFi 前端去中心化?_SWAP

運行在區塊鏈上的智能合約可以提供抗審查和持續運營的能力,但是用戶在接入這些智能合約之前,如何確保前端體驗也能提供同樣的去中心化特性?上周.

1900/1/1 0:00:00
ads