# 學習心得 ### 第一周 這次作業開發我自己還是用 remix,但我正常常是 foundry 重做一次作業。 我在想如果先把 json 上傳,會不會被在鏈上被發現哪幾個 nft,打開盲盒會是甚麼? ### 第二周 作業的部分助記詞反而忘記了產生的流程,所以稍微複習一下如作業所寫的,我也將之前的私鑰轉公鑰再轉錢包的 code 重新理解。 ``` ##### Your code starts here ##### import sha3, sys import secrets from random import getrandbits from binascii import hexlify, unhexlify from coincurve import PublicKey def keccak(data): k = sha3.keccak_256() k.update(data) return k.digest() # step 1: generate a private key privkey = secrets.token_hex(32) #print(privkey) # step 2: calculate a public key # TODO bytes_privkey = unhexlify(privkey) public_key = PublicKey.from_valid_secret(bytes_privkey).format(compressed=False)[1:] hexlify(public_key).decode() # step 3: generate an address # TODO address = '0x' + hexlify(keccak(public_key)[-20:]).decode() print(address) ``` ###### tags: `Solidity Study`