作者 firesnake (靈魂意念拉扯)
標題 [閒聊] 高手幫我看一下這python code哪裡有問題
時間 Wed Mar  8 07:28:09 2023


這是我透過bingchatgpt產生的private key產生public address
的eth python code
如下

import hashlib
import ecdsa

# Generate a private key
#private_key =
"f4e5d767e3e044f852dee70037d8d3555549614c8b62a4899e60bcf85472c380"
private_key =
ecdsa.SigningKey.from_string(bytes.fromhex("f4e5d767e3e044f852dee70037d8d3555549614c8b62a4899e60bcf85472c380"),
curve=ecdsa.SECP256k1)
# Derive the public key from the private key
public_key = private_key.get_verifying_key().to_string()

# Derive the Ethereum address from the public key
keccak = hashlib.sha3_256()
keccak.update(public_key)
address = "0x" + keccak.hexdigest()[24:]

# Print the results
print("Private key:", private_key.to_string().hex())
print("Public key:", public_key.hex())
print("Address:", address)

可以成功算出一個public address 但是就是跟myetherwallet算出的不一樣
我已經試了三四個版本的code寫出來都跟myetherwallet算出的不一樣
有沒有高手能指點一下那裡出錯了

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.75.132.180 (臺灣)
※ 作者: firesnake 2023-03-08 07:28:09
※ 文章代碼(AID): #1a1yYDMy (DigiCurrency)
※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1678231693.A.5BC.html
blueoick: 用web3.py呀1F 03/08 07:38
firesnake: 想從頭自己寫不想用別人的2F 03/08 07:47
zxc1234529: sha3更新過算法 keccak是基於舊的sha3
所以你導出地址那邊要改成用
https://i.imgur.com/hSTzjFL.jpeg3F 03/08 09:29
[圖]
keepxha: 每次都被ethereum keccak256 坑到…6F 03/08 14:08
natukage: https://i.imgur.com/ghJSb57.jpg
這種小問題問chatgpt就好了……7F 03/08 15:50
[圖]
firesnake: 上面這行code無法執行完成喔XD chatGpt給得常常有bug還是我的python 沒安裝好
不過樓上大大問的關鍵字是啥啊 為啥我問chatgpt都沒回這樣9F 03/08 16:06
brucetu: chatGPT就像google查詢你要用對關鍵字把問題講清楚13F 03/08 17:06
midas82539: 在那邊花時間骰出能用的還不如花時間學python14F 03/08 20:53
brucetu: 學python你也不會知道問題在用錯算法啊
我剛才把這篇內文丟GPT直接就有答案了15F 03/09 00:32
pinner: 所以哪裡從頭開始寫了 要手刻SHA嗎17F 03/09 01:40
mkym: 所以不用web3.py的理由是什麼?18F 03/09 02:31

--