问题描述
尝试使用 REMIX IDE 创建我的第一个智能合约,但遇到了声明错误。 这是我的合约代码
/**** 代码开始 **/
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.2;
import "./Context.sol";
import "./IBEP20.sol";
import "./SafeMath.sol";
import "./Ownable.sol";
contract SampleTaken is Context,IBEP20,Ownable {
mapping(address => unit) public balances;
unit public totalSupply = 1000000 * 10 ** 18;
String public name ="Sample Token";
String public symbol ="KJA";
unit public decimals = 18;
/** Events aailable for the Contract**/
event Transfer(address indexed _from,address indexed _to,uint256 _value);
constructor(){
balances[msg.sender] = totalSupply;
}
function balanceOf(address _ownerAddress) public view returns (unit){
return balances[_ownerAddress];
}
function transfer(address _toAddress,unit _noOfTokens) public view returns (bool){
require(balanceOf(msg.sender) >= _noOfTokens,"Total balance is less than the number of Tokens asked for !!!");
balances[_toAddress] +=_noOfTokens;
balances[msg.sender] -= _noOfTokens;
emit Transfer(msg.sender,_toAddress,_noOfTokens);
return true;
}
function transferFrom(address _from,address _to,uint _value) public returns (bool){
require(balanceOf(_from) >= _value,"Balance is less than the number of Tokens asked for !!!");
require(allowance[_from][msg.sender] >= _value,"Allowance too low");
balances[_to] += _value;
balances[_from] -= _value;
emit Transfer (_from,_to,_value);
return true;
}
}
尝试编译时,出现以下错误
DeclarationError: Identifier not found or not unique. --> Sampletoken.sol:13:24: | 13 | mapping(address => unit) public balances; | ^^^^
这里可能缺少什么?
谢谢 山姆
解决方法
错误是由代码中的拼写错误引起的。
它应该是 uint
(无符号整数) - 而不是 unit
。