Private-Blockchain
如何在私有乙太坊網路的預定義合約地址中部署智能合約?
有什麼方法可以將我們的智能合約部署在私有乙太坊網路中的特定地址(即預定義的合約地址)中?
是的,我已經基於乙太坊程式碼建構了自己的私有區塊鏈。我需要在某些區塊上部署合約,並且必須將該地址發送給我的客戶(使用者)。在這種情況下,我不想在部署合約時向客戶端發送不同的地址。如果它是一個靜態地址,這對我來說很容易。我會告訴他們我已經部署了一個新合約,這樣他們就可以使用靜態地址來獲取他們的程式碼輸入。
無法將合約部署到您選擇的地址
合約部署到的地址是使用部署者的地址和部署者的交易總數(nonce)確定性生成的: 乙太坊合約的地址是如何計算的?
這意味著您可以在部署合約之前計算出合約的地址:
var ethJsUtil = require('ethereumjs-util'); var futureAddress = ethJsUtil.bufferToHex(ethJsUtil.generateAddress( yourAddress, web3.eth.getTransactionCount(yourAddress)));