Web3j
獲取函式在 Web3j 中返回 2 個值
我將 remix 中生成的智能合約包裝到 Java 項目中。我試圖獲得返回這個函式的兩個值。
function getValues(address _a) external returns(bool, uint32) { uint32 n= data[_a].number; return (true, n); }
問題是返回的值是一個 TransactionReceipt。我怎樣才能恢復兩者的價值;布爾值和 uint?
問題是返回值是交易收據。如何恢復這兩個值?
添加
view
到函式聲明中,返回值將是一個元組(bool, uint32)
。否則(如果您沒有告訴我們有關函式的某些內容,無法為其聲明
view
),您將需要emit
一個帶有返回值的事件,並從交易收據中獲取它。
可以製作該功能
view
,然後您可以call
從web3使用。這不會進行交易,而只會在您連接的節點上執行該功能。結果將是您期望的值。希望這可以幫助