Authentication 要求工作不正常,总是导致错误条件和相应错误
在我的dapp中有一个登录页面和注册页面,分别基于refer和earn概念对用户进行身份验证和授权。登录部分工作正常,但当我尝试以0.05以太费用向区块链注册新帐户时,metamask弹出并显示警报:交易错误。合同代码中引发异常。当我检查etherscan时,我发现用户已经存在错误。无论我使用哪个地址,错误都保持不变Authentication 要求工作不正常,总是导致错误条件和相应错误,authentication,blockchain,ethereum,solidity,web3js,Authentication,Blockchain,Ethereum,Solidity,Web3js,在我的dapp中有一个登录页面和注册页面,分别基于refer和earn概念对用户进行身份验证和授权。登录部分工作正常,但当我尝试以0.05以太费用向区块链注册新帐户时,metamask弹出并显示警报:交易错误。合同代码中引发异常。当我检查etherscan时,我发现用户已经存在错误。无论我使用哪个地址,错误都保持不变 uint lastUserId = 2; struct User { uint id; address referrer; uint partnerC
uint lastUserId = 2;
struct User {
uint id;
address referrer;
uint partnerCount;
bool isRegistered;
}
function userRegisteration(address _userAddress, address _referAddress) private returns(bool) {
require(msg.value == 0.05 ether, 'registeration cost 0.05');
// require(!isUserExists(_userAddress), "User already exists");
// require(isUserExists(_referAddress), "Referrer doesn't exist");
require(!users[_userAddress].isRegistered, "User already exists"); //The error I got
require(users[_userAddress].isRegistered, "Referrer doesn't exist");
User memory user = User({
id: lastUserId,
referrer: _referAddress,
partnerCount: 0,
isRegistered: true
});
users[_userAddress] = user;
users[_userAddress].referrer = _referAddress;
users[_referAddress].partnerCount++;
lastUserId++;
emit registerSuccess(_userAddress, _referAddress);
return true
}
function registeration(address _referAddress) external payable {
userRegisteration(msg.sender, _referAddress);
}
Web3js
contract.registeration(
$("#refer_id").val(),
{ value: web3.toWei(0.05), gasPrice: 98e9 },
function (err, res) {
if (err) {
console.log(err.message);
$(".tx").show();
$(".transaction_err").text(err.message);
return false;
}
});
)
响应
你能提供整个合同吗?
Transaction has been reverted by the EVM:
{
"blockHash": "0x8338fb44f94cef337879b07ebf8251f99b3c6238489e0c2e10d903cf921a0d1c",
"blockNumber": 7427013,
"contractAddress": null,
"cumulativeGasUsed": 22838,
"from": "0x8a9bbe43c28a82596f7ae4cff80377a7c8e0c25c",
"gasUsed": 22838,
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"status": false,
"to": "0x2d99d6db85b012bdd3ced1c21fc025847c6c2694",
"transactionHash": "0x07e03803ede8a172db5cbe27f3aafead9668af0a6e9fbe7804802b1bf0c5a6b4",
"transactionIndex": 0,
"events": {}
}