Blockchain 非预期反应
在为投票区块链创建solidity类和ethers.js接口时,我得到了Blockchain 非预期反应,blockchain,ethereum,solidity,Blockchain,Ethereum,Solidity,在为投票区块链创建solidity类和ethers.js接口时,我得到了solidity意外响应 这里是solidity函数 function addVoter(string memory _email) public returns (string memory) { return string('test'); string memory key = random(_email); require(emailExists[key] == false); emailExist
solidity意外响应
这里是solidity函数
function addVoter(string memory _email) public returns (string memory) {
return string('test');
string memory key = random(_email);
require(emailExists[key] == false);
emailExists[key] = true;
voters[key] = Voter({auth_code:key, authorized:true, candidate_id:0, email:_email, voted:false, voter_address:msg.sender});
return key;
}
该函数将创建一个新的“投票者”结构,并为其分配一个随机数为了测试函数,在函数的开始处放置了一个返回值。
返回应该是系统响应 因此,我希望得到包含
“test”
字符串的内容。
相反,我得到了如下结果:
{
散列:“0x2c9a61d3e903d706ca829d009d4fdd9f4c2972f17e7b0fb5e1c65b9a0f73436d”,
区块散列:“0x690948bea16c079b1ba33a0c79aa76e987b828e92aebacc477ec6f6a9152416e”,
区块编号:266,
transactionIndex:0,
确认:1,
发件人:“0x6002D48140d30B26C0B8A7B77D7Fa11A41a61a9F”,
gasPrice:BigNumber{u hex:'0x4a817c800'},
gasLimit:BigNumber{u hex:'0x5a53'},
至:“0xaa0E1b62f1de3fdEC6474FFb78714b18b5477e4b”,
值:BigNumber{u hex:'0x0'},
暂时:227,
数据:“0xACA848920000000000000000000000000…”,
r:'0xE9AEF9A34B805240A4450845A640153292578B122CE487604ED3E4F135F70A3',
s:'0x0EDDC482B19115E983018E4B9FE1541B35096FF61C581C559CC54F153527AE8',
五:27,,
创建:null,
原始:“0xf8ca81e38504a817c800825a5394aa0e1b62f…”,
网络ID:0,
等待:[函数]
}
以上是使用ethers.js构建以下函数的结果
contract.addVoter('some_email').then((par) => {
registered = par;
console.log(par);
});
问题是,我们是否在代码中做了错误的事情,或者我们是否误解了什么
call
获取该值事件
记录该值好的,但是我该怎么做呢?文档把我弄糊涂了。好吧,我找到了一种实现你提出的存储和调用方法的方法。