Solidity
從測試松露的映射中返回一個結構
我希望將資訊儲存在映射內的每個結構中。
這是我的結構:
struct BurnApply { address applicant; uint amount; string btcAddress; uint8 flag; uint password; }
這些是計數器(映射)和映射:
uint numRequest; //zero initialize value mapping(uint => BurnApply) burnProcesses;
我想獲取結構內每個請求的值。例如,burnProcesses
$$ 1 $$包含請求編號 1 和所有資訊。我如何呼叫松露中的映射?因為我已經嘗試了幾種方法來實現這一目標,但都沒有成功。這很緊急……這是錯誤:
TypeError: Cannot read property 'call' of undefined
非常感謝你們!
您可以使用測試您的程式碼
const instance= await yourcontract.new(); const result1=await instance.BurnApply.call(i);//set your i
然後
使用訪問結構屬性
console.log(result1[i]); //i=0 ...
這份契約對我有用。要訪問成員,您必須將其聲明為 public(編譯器將自動創建一個 getter)。
pragma solidity ^0.4.18; contract Foo { struct BurnApply { address applicant; uint amount; string btcAddress; uint8 flag; uint password; } mapping(uint => BurnApply) public burnProcesses; }
現在您可以從 javascript 呼叫
const data = await fooInstance.burnProcesses.call(0);