Contract-Invocation

在哪裡包含用於呼叫狀態更改函式的參數

  • October 25, 2018

我有這個契約:

pragma solidity ^0.4.0; 
contract Proof { 
   function register(bytes32 hash) { 
       if (hashToDate[hash] != 0) return; 
       hashToDate[hash] = now; 

   } 
   function dateOf(bytes32 hash) constant returns (uint date) { 
       return hashToDate[hash]; 

   } 
   mapping (bytes32 => uint) hashToDate; 
}

我成功部署了這個合約。我也可以dateOf成功呼叫,因為它是一個常量函式(返回值0是有意的,因為尚未register編輯散列):

> proof.dateOf("0x492...fee7d")
0

現在我想打電話register(bytes32)

這是我從文件中得到的,但我不知道在哪裡包含參數。

var tx = proof.register.sendTransaction(proof.address, 0, {from:eth.accounts[0]})

proof.register.sendTransaction(hashToRegister, {from:eth.accounts[0]})

這可以是:

proof.register(hashToRegister, {from:eth.accounts[0]})

因為register沒有標註constant

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