这是我的合同:
pragma solidity ^0.4.18;
contract Signup {
string fStudentId;
string fLocation;
function setInfo(string _fStudentId, string _fLocation) public {
fStudentId = _fStudentId;
fLocation = _fLocation;
}
function getInfo() public constant returns (string, string) {
return (fStudentId, fLocation);
}
}
我阻止了StudentId和位置,如何使用web3获取此信息?我尝试使用:web3.eth.getBlock(7).then(console.log);
我的学生编号和位置在哪里?谢谢!!!!!
[当您说“我要阻止学生编号和位置”时不确定您的意思,但我会尽力回答。
您可能通过执行类似操作来设置状态
contract.functions.setInfo(1, "here")
要检索该数据,请执行
contract.functions.getInfo()
以太坊区块链的实际状态由Merkle特里构成,并由stateRoot
引用。因此,如您所见,没有一种简单的方法可以根据您拥有的块标题来查找此数据。
要从合同中检索数据,您有几种选择:
setInfo
的交易中查找交易并解析交易收据中的输入setInfo
,就从合同中发出事件,并设置一个过滤器的侦听器,该过滤器将在每次发出合同事件的交易发生时被调用]]