二手交易平台中需要先登入再进行发布和购买商品
solidity中不知如何在发布商品函数处写入登入权限
// 登入事件
event sign_In(address _address, string message);
function signIn(address _address, uint256 _password) public returns (bool) {
if (
_address == customerMapping[_address].customerAdd &&
_password == customerMapping[_address].password
) {
emit sign_In(_address, "登入成功");
return true;
} else if (
_address == customerMapping[_address].customerAdd &&
_password != customerMapping[_address].password
) {
emit sign_In(_address, "密码错误,登入失败");
return false;
} else if (_address != customerMapping[_address].customerAdd) {
emit sign_In(_address, "该账号未注册,请先注册账号");
return false;
}
}
// 发布商品
// 发布商品事件
event release_Goods(uint256 _id, string _name, string _message);
function releaseGoods(
address _address,
uint256 _id,
string _name,
uint256 _price,
uint256 _showTime
) public onlyOwner {
// bool success = signIn(_address, _password);
}
无~
尝试利用函数修饰符和require进行限制,但使用后进行商品发布时需要输入登入密码,操作繁琐
简单快速实现先登入后操作问题
设定一个map,key为address,value为布尔值。
登录成功后设定该地址的value为true。
能否使用一个外部服务进行登录,调用外部服务进行验证,然后服务返回一个token凭证,表示登录状态,然后solidity这边验证这个凭证token,效率高一些.