I have 3 contracts but they are not deploying on remix.ethereum.org
pragma solidity ^0.6.7;
contract Owned {
modifier onlyOwner() {
require(msg.sender==owner);
_;
}
address payable owner;
address payable newOwner;
function changeOwner(address payable _newOwner) public onlyOwner {
require(_newOwner!=address(0));
newOwner = _newOwner;
}
function acceptOwnership() public {
if (msg.sender==newOwner) {
owner = newOwner;
}
}
}
abstract contract ERC20 {
uint256 public totalSupply;
function balanceOf(address _owner) view public virtual returns (uint256 balance);
function transfer(address _to, uint256 _value) public virtual returns (bool success);
function transferFrom(address _from, address _to, uint256 _value) public virtual returns (bool success);
function approve(address _spender, uint256 _value) public virtual returns (bool success);
function allowance(address _owner, address _spender) view public virtual returns (uint256 remaining);
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
contract Token is Owned, ERC20 {
string public symbol;
string public name;
uint8 public decimals;
mapping (address=>uint256) balances;
mapping (address=>mapping (address=>uint256)) allowed;
function balanceOf(address _owner) view public virtual override returns (uint256 balance) {return balances[_owner];}
function transfer(address _to, uint256 _amount) public virtual override returns (bool success) {
require (balances[msg.sender]>=_amount&&_amount>0&&balances[_to]+_amount>balances[_to]);
balances[msg.sender]-=_amount;
balances[_to]+=_amount;
emit Transfer(msg.sender,_to,_amount);
return true;
}
function transferFrom(address _from,address _to,uint256 _amount) public virtual override returns (bool success) {
require (balances[_from]>=_amount&&allowed[_from][msg.sender]>=_amount&&_amount>0&&balances[_to]+_amount>balances[_to]);
balances[_from]-=_amount;
allowed[_from][msg.sender]-=_amount;
balances[_to]+=_amount;
emit Transfer(_from, _to, _amount);
return true;
}
function approve(address _spender, uint256 _amount) public virtual override returns (bool success) {
allowed[msg.sender][_spender]=_amount;
emit Approval(msg.sender, _spender, _amount);
return true;
}
function allowance(address _owner, address _spender) view public virtual override returns (uint256 remaining) {
return allowed[_owner][_spender];
}
}
contract YFIVE_FINANCE is Token{
constructor() public{
symbol = "YFIVE";
name = "YFIVE.FINANCE";
decimals = 18;
totalSupply = 33000000000000000000000;
owner = msg.sender;
balances[owner] = totalSupply;
}
receive () payable external {
require(msg.value>0);
owner.transfer(msg.value);
}
}
1 Like
Hi @Timbrian1234 ,
Welcome to the community
As well as this post, you have posted two other token contracts:
I get no worker message if I try to deploy it on remix.ethereum.com .
Please help me fix it.
pragma solidity ^0.5.0;
/**
*
*
*/
// ----------------------------------------------------------------------------
//
//
// ----------------------------------------------------------------------------
contract ERC20Interface {
function totalSupply() public view returns (uint);
function balanceOf(address tokenOwner) public view returns (uint balance);
function allowance(address tokenOwne…
I get no worker message if I try to deploy it on remix.ethereum.com .
Please help me fix it.
pragma solidity ^0.5.0;
/**
*
*
*/
// ----------------------------------------------------------------------------
//
//
// ----------------------------------------------------------------------------
contract ERC20Interface {
function totalSupply() public view returns (uint);
function balanceOf(address tokenOwner) public view returns (uint balance);
function allowance(address tokenOwne…
I am not sure what the "No worker" error was that you were receiving. Can you post a screen shot?
Taking a step back, you seem to be wanting to deploy a simple token with the total supply minted to the deployer of the contract.
The following is an example using OpenZeppelin Contracts imported via GitHub:
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.2;
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.2.0/contracts/token/ERC20/ERC20.sol";
contract Token is ERC20 {
constructor () public ERC20("Token", "TKN") {
_mint(msg.sender, 1000000 * (10 ** uint256(decimals())));
}
}
For a mintable, pausable and burnable token you can follow: Create an ERC20 using Remix, without writing Solidity
No. Can you help me test both on your remix.ethereum.org . Anyone that deploys. Please send it to me. I’d really appreciate it @abcoathup Thanks alot. I don’t know how to import openzeppelin in the contract. But if you help me add it to any of the contract. I can just copy it to my remix.ethereum.org and deploy it
1 Like
Hi @Timbrian1234 ,
I recommend following the tutorial to deploy a token locally: Create an ERC20 using Remix, without writing Solidity
Once you have done that you could try the following simple token:
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.2;
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.2.0/contracts/token/ERC20/ERC20.sol";
contract Token is ERC20 {
constructor () public ERC20("Token", "TKN") {
_mint(msg.sender, 1000000 * (10 ** uint256(decimals())));
}
}
Is there a video tutorial on YouTube?? I went through it immediately but I was confused. @abcoathup Thanks alot
Can I add the staking and yield Farming contract code to ERC20PRESETMINTPAUSER
1 Like
Hi @Timbrian1234 ,
There isn’t a YouTube tutorial. Feel free to ask all the questions that you need.
Hi @Timbrian1234 ,
I am not familiar with the smart contract code for staking and yield farming.
I assume that you can use the Preset ERC20 contract and then create contracts for staking rewards.
Okay is there an OpenZappelin Github contract for only PRESETBURN without MINTING
1 Like
Hi @Timbrian1234 ,
There isn’t a preset ERC20 with fixed supply currently with burn.
I have created an issue proposing that there could be one added: https://github.com/OpenZeppelin/openzeppelin-contracts/issues/2377
You could try something like the following.
The following code hasn’t been tested or audited.
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.2;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol";
contract ERC20FixedSupply is ERC20, ERC20Burnable {
constructor(
string memory name,
string memory symbol,
uint256 initialSupply
) public ERC20(name, symbol) {
_mint(msg.sender, initialSupply);
}
}
Please is this token tradable on exchanges?