Wallets
如何為自定義 ERC20 代幣創建唯一地址
我們可以使用solidity 甚至metamask 創建ERC20 代幣。但是如何創建唯一的地址來傳輸它們呢?
我的意思是像黃金獎勵這樣的代幣或像 Bitconnect 這樣的硬幣有它自己的地址模式,可以在它們之間轉移。怎麼做?
在 HitBTC 中,對於每個代幣,您都將獲得唯一的發送地址。
如果有什麼方法可以做到這一點,需要在契約部署期間這樣做還是可以在創建簡單令牌後完成?
我假設您的意思是能夠創建以您選擇的某些字元開頭的虛榮地址。如果是這樣,您可以檢查此工具:
https://github.com/MyEtherWallet/VanityEth
** 我沒試過,不能保證它和它的安全性。
** 如果您要使用它,請確保生成的帳戶或合約地址在生產中使用之前確實有效。
tl; dr 合約地址始終是唯一的,因為它們是根據創建帳戶的地址和該地址的 nonce 確定的。這意味著沒有兩個合約將具有相同的地址,但是通過一些試驗和錯誤,我們可以輕鬆地製作具有“虛”地址的合約。見下文
合約的地址是根據創建合約的賬戶地址和賬戶的 nonce 來確定的。因此,當您使用帳戶部署合約時,該合約以隨機數 1 開始,該隨機數僅在合約創建期間創建,也就是在
create
呼叫操作碼時創建。這意味著您可以輕鬆地預先計算將由賬戶(即合約賬戶或 EOA)生成的合約地址。因此,要獲得稍微定制的合約地址,您必須嘗試多個不同的公鑰/私鑰對,看看哪一個會生成您想要的地址。我寫了一個可以用來計算地址的合約:
https://github.com/postables/Solidity-Modules/blob/master/Contracts/AddressGenerationCalculator.sol