I'm making a contract in Solidity, and upon compilation, i get the following error: 'Expected pragma, import directive or contract/interface/library definition. function MyToken() { ^' What causes this?
pragma solidity ^0.14.18;
contract MyToken {
/* This creates an array with all balances */
mapping (address => uint256) public balanceOf;
}
function MyToken() {
balanceOf[msg.sender] = 21000000;
}
/* Send coins */
function transfer(address _to, uint256 _value) {
/* Add and subtract new balances */
balanceOf[msg.sender] -= _value;
balanceOf[_to] += _value;
}
function transfer(address _to, uint256 _value) {
/* Check if sender has balance and for overflows */
require(balanceOf[msg.sender] >= _value && balanceOf[_to] + _value >= balanceOf[_to]);
/* Add and subtract new balances */
balanceOf[msg.sender] -= _value;
balanceOf[_to] += _value;
}
/* Initializes contract with initial supply tokens to the creator of the contract */
function MyToken(uint256 initialSupply, string tokenName, string tokenSymbol, uint8 decimalUnits) {
balanceOf[msg.sender] = initialSupply; // Give the creator all initial tokens
name = tokenName; // Set the name for display purposes
symbol = tokenSymbol; // Set the symbol for display purposes
decimals = decimalUnits; // Amount of decimals for display purposes
}
event Transfer(address indexed from, address indexed to, uint256 value);
/* Notify anyone listening that this transfer took place */
Transfer(msg.sender, _to, _value);