Solidity

在沒有 web3js 的建構子中是否有其他傳遞值的方法?

  • December 24, 2017

**Q1:**有沒有其他方法可以在不使用 web3js 對象的情況下在建構子中傳遞值。

**Q2:**在下面的程式碼中,每當呼叫這個合約時,會重新編譯還是只更新值?

 pragma solidity ^ 0.4.8 ; 

 contract lastPrice {
    uint price ; 
    uint lprice ;

    function lastPrice (uint _price) {
       lprice = (_price * 1 ether);
      }

    function showPrice () constant returns (uint) {
       return lprice ;
    }
  }

**Q1:**是的。您可以以“原始”方式形成交易數據並從 geth javascript 控制台發送,您可以從另一個合約部署合約並將值傳入。

**Q2:**不會。建構子在部署時只觸發一次,永遠不能再次呼叫。此外,契約不能修改。事實上,任何重新編譯都將是另一份契約。將名稱更改為其他名稱,例如setPrice()多次呼叫。

希望能幫助到你。

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