如何从松露控制台读取结构中的字段?
How to read fields in struct from truffle console?
我有一个简单的 TodoList 智能合约,如下所示
pragma solidity ^0.8.0;
contract TodoList {
uint256 public taskCount = 0;
struct Task {
uint256 id;
string content;
bool completed;
}
mapping(uint256 => Task) public tasks;
constructor(){
createTask("Buy Keyboard");
}
function createTask(string memory _content) public {
taskCount++;
tasks[taskCount] = Task(taskCount, _content, false);
}
}
我想读取第一个待办事项的 ID,但无论我尝试什么,它都显示未定义?这里正确的方法是什么?
你可以通过等待承诺来做到这一点,然后赋值:
>> task.then(data => { id = + data["id"] } )
>> id
您需要使用 await
关键字作为其 异步 操作。例如
todoList = await TodoList.deployed()
task = await todoList.task(1)
id = task.id.toNumber()
我有一个简单的 TodoList 智能合约,如下所示
pragma solidity ^0.8.0;
contract TodoList {
uint256 public taskCount = 0;
struct Task {
uint256 id;
string content;
bool completed;
}
mapping(uint256 => Task) public tasks;
constructor(){
createTask("Buy Keyboard");
}
function createTask(string memory _content) public {
taskCount++;
tasks[taskCount] = Task(taskCount, _content, false);
}
}
我想读取第一个待办事项的 ID,但无论我尝试什么,它都显示未定义?这里正确的方法是什么?
你可以通过等待承诺来做到这一点,然后赋值:
>> task.then(data => { id = + data["id"] } )
>> id
您需要使用 await
关键字作为其 异步 操作。例如
todoList = await TodoList.deployed()
task = await todoList.task(1)
id = task.id.toNumber()