Solidity
合約消息呼叫是否需要發送者的簽名?
例如說你有這個簡單的契約:
contract Example { function sayHello() constant returns (string msg) { return "hello"; }
我打了一個資訊電話:
exampleContract.sayHello.call();
由於它是一個常量(只讀)消息呼叫,根據文件,發件人地址是可選的。由於不需要from ,這是否意味著任何人都可以呼叫該函式 - 不執行簽名驗證?
您是對的,任何人都可以呼叫該函式並且不執行簽名驗證。
它們在本地執行而不廣播到任何其他節點。這些持續的消息呼叫似乎也沒有出現在核心協議本身中,也沒有在黃皮書中提及。如果需要,很高興更正這部分,另一個例子是pyethereum 沒有實現 eth_call。