Parity

oo7-parity 如何使用初始化程式碼部署合約

  • September 7, 2017

按照這裡的教程,我知道如何使用 oo7-parity 來部署新合約。https://github.com/paritytech/parity/wiki/Tutorial-Part-9

deploy () {
   let tx = bonds.deployContract(CounterCode, CounterABI);

範例合約Counter沒有合約建構子,因此可以僅使用合約字節碼和 ABI 進行部署。

但是,假設一個合約有如下建構子和初始化變數,我應該如何將變數 ( _greeting) 放入bonds.deployContract函式中?

contract greeter{
   string greeting;
   function greeter(string _greeting) public {
       greeting = _greeting;
   }
}

所以這就是我的做法。你需要 web3js 0.20.0,使用它的getData函式來生成包含編碼初始化變數的新字節碼。

const web3 = new Web3()
let MyContract = web3.eth.contract(MyABI)
let _greeting = "my init variable"
let newByteCode = MyContract.new.getData(_greeting, {data: oldByteCode})
let tx = bonds.deployContract(newByteCode, MyABI)

文件狀態:

您需要從編譯器獲取自己的字節碼

因此,您可以使用使用者瀏覽器solidityjavascript 編譯器

引用自:https://ethereum.stackexchange.com/questions/25918