Signature
這種手工製作的原始交易有什麼問題?
這是同一交易的兩個簽名的兩個 RLP 編碼 — 用於 Goerli。請注意“簽名者”地址的不同之處。 這一定是在暗示我的簽名程序有問題? 我簽名的私鑰是
6e08[...]28d8
. 相對於這個私鑰的地址是3e21c651dfc21ee198bc2f735502eb82a2e8c4f0
,所以我期待看到“Signed by: 0x3e21c651dfc21ee198bc2f735502eb82a2e8c4f0
”。%helpeth parseTx 0xf86d018612309ce5400082a4109479e4e5c6309eab8df0299973ef29ce2b001704a5880de0b6b3a7640000802ea02db2dc28cf1c6d049d773bd78c5fad9cca19e4e4e191e9ec80f5765c1a5739b8a0747602789e0b20eeca045e49260fc7382d937125178ea2e4a712326b7c0b8eb8 Signed by: 0xd07b876c0b06b6fea8de3df326518abc5a862c45 Nonce: 0x01 To: 0x79e4e5c6309eab8df0299973ef29ce2b001704a5 Value: 1000000000000000000 (1 ETH) Data: 0x Gas limit: 42000 Gas price: 20000000000000 (20000 Gwei) Potential total transaction cost: 0.84 ETH Minimum required account balance: 1.84 ETH %helpeth parseTx 0xf86d018612309ce5400082a4109479e4e5c6309eab8df0299973ef29ce2b001704a5880de0b6b3a7640000802ea033f0f6603ce617e2bc67048c63ac7ee407b82517fb490e694030d43893c26b12a0725bb38fc835acc70290164eba994bfc144ef9151a7de5ea57880576f7895a65 Signed by: 0xe31621a692881e27467be5b22e3b15720fe1aa55 Nonce: 0x01 To: 0x79e4e5c6309eab8df0299973ef29ce2b001704a5 Value: 1000000000000000000 (1 ETH) Data: 0x Gas limit: 42000 Gas price: 20000000000000 (20000 Gwei) Potential total transaction cost: 0.84 ETH Minimum required account balance: 1.84 ETH %
問題出在
v
. 我無權訪問簽名過程中使用的臨時私鑰,因此我無法輕鬆獲取此私鑰的 y 座標,我需要計算v
. 但是,由於我知道簽名者(即我自己)的公鑰,我可以驗證哪個v
產生了正確的公鑰,這樣就可以推斷出v
我必須用哪個來對交易進行編碼。所以,基本上,在這種情況下,我需要蠻力
v
。我沒有其他解決方案。為了獲得更好的解決方案,我需要在簽名過程中修改我用來v
為我計算的原始庫,因為簽名過程是具有v
精確計算資訊的過程。假設您具有正確的
y
座標,此答案將向您展示如何計算v
.