[ANN][ICO]Gchain : Games Assets Interact Blockchain - Powering Games economy

[ANN][ICO]Gchain : Games Assets Interact Blockchain - Powering Games economy

GChain - Games Assets Interact Blockchain
Powering TheGames industry economywith blockchain
About Gchain :Gchain is decentralized platform based on ethereum  allows the implementation of smart contracts for the games, which allows the implementation of automated contracts according to the conditions set by the game developer in the game and these terms are known to the players.Gchain is ethereum based platform to help game developers issue erc20 tokens for their game assets on the Ethereum blockchain, and these tokens are interacting with the real assets of their games inside the game.The platform enables players to own real and permanent possession of gaming assets and be able to buy, sell and trade them as desired.The platform aims to eliminate the centralization of games and move the games industry towards decentralization.Gchain is a decentralized marketplace with a decentralized platform with a heavy focus on video games and virtual collectibles.Gchain platform Transforming game assets from digital to crypto assets that the blockchain can understand.Instead of having to trust a provider or central video game network, players can own virtual game assets and trade them with anyone on Gchain platform.The project grants real ownership of game items to players and grants the ability to use owned items even outside the game.The platform enables game developers to develop game elements capable of residing within the blockchain.Links :Website : https://Gchain.infoWhitepaper : https://gchain.info/docs/Whitepaper_v1.0_en.pdfEmails   : [email protected]             [email protected]             [email protected]Social Links :Telegram : https://t.me/GChainTokenFacebook: https://facebook.com/GAIToken/Twitter   : https://twitter.com/GChain9Reddit    : https://www.reddit.com/user/gchaintokenSlack     : https://gchainworkspace.slack.com/Discord  : https://discord.gg/aUWRc8pLinkedin : https://linkedin.com/company/GchainYoutube : https://www.youtube.com/channel/UCHn5rCwXzslpJ4EIEvBvphwGithub   : https://github.com/gchaintokenMedium :  https://medium.com/@gchain
Whitepaper
EcosystemGchain Platform : Decentralized platform based on Ethereum blockchain to issue erc20 tokens for games assets.             Gchain DEX : Gchain Decentralized Exchange Market to exchanges games assets tokens.Gchain Protocol Blockchain : Gchain Protocol Blockchain is A new blockchain built entirely from scratch , The move to Gchain Protocol blockchain will be done later.Games Developers : Game developers who use Gchain to develop their games.Players : Players who play games that  built using Gchain.Games : Games that uses Gchain.Gchain SDK : Gchain software development kit (SDK) is a toolkit for game developers to integrate Gchain platform in their games. Game Assets : Games assets that Tokens are issued for it using Gchain Platform.ERC20 Tokens for games Assets : Erc20 tokens that issuing for games assets.Smart contracts : Smart contracts dedicated to games industry executed on Gchain Blockchain .Gchain Project components/Products Games Assets Interact Token (GAI) : GAI is ERC20 Token ,It is Gchain project currency and it used within the project ecosystem.Gchain Platform : Decentralized platform based on Ethereum blockchain to issue erc20 tokens for games assets.Gchain DEX : Gchain Decentralized Exchange Market to exchanges games assets tokens.Gchain Protocol Blockchain : Gchain Protocol Blockchain is A new blockchain built entirely from scratch.Gchain SDK : Gchain software development kit (SDK) is a toolkit for game developers to integrate Gchain platform in their games.Gchain Wallet : In addition to the ability to store Games assets tokens in Ethereum erc20 wallets - a special wallet for game assets will be launched, The new wallet allows displaying other variables of the game assets, such as walking speed - running speed - jumping height, etc.Exclusive Game : In addition to the game developers using our platform to produce their games, we will also create an exclusive game for Gchain project.Project Phases
Road Map
GAI Token InfoToken Name : Games Assets InteractSymbol          : GAIDecimal         : 18Platform        : EthereumStandard       : ERC20Token Type   : Utility TokenUses of GAI tokens within Gchain project ecosystem1 - Assets AEO listing costs on Gchain DEX.2 - Assets ERC20 Tokens listing costs on Gchain DEX.3 - Games assets tokens issuing costs on Ethereum blockchain and Gchain Protocol Blockchain.4 - Sending Games assets tokens between wallets Transactions fees.5 - Gchain DEX Exchanging tx fee & withdrawal fee.6 - Currency to buy game asset tokens from Gchain DEX.7 - Stack your GAI Tokens in Gchain DEX to get more GAI Tokens as stacking reward.8 - Stacking your GAI tokens in Gchain DEX and get exclusive games assets tokens in your wallet as airdrop reward.9 - You will get a good discount when using GAI tokens to Buy game assets Tokens on Gchain DEX.10 - 50% of Gchain DEX platform's Profits of a particular week will be distributed to GAI tokens holders In a variable time it is announced suddenly.11 - Special discount when using GAI tokens to Buy game assets Tokens in AEO campaigns that hosted on Gchain DEX.GAI Token AllocationTotal Supply :1,000,000,000 GAIToken sale   : 600,000,000 GAI (60%)Team & Advisors : 80,000,000 GAI (8%)Promotion : 120,000,000 GAI (12%)Bounty : 30,000,000 GAI (3%)Partners : 100,000,000 GAI (10%)Reserved Tokens : 70,000,000 GAI (7%)*GAI sale Bonus & Additional Bonus Tokens Will be minted directly to ico participants ethereum wallets.Ico Fund DistributionDevelopment Costs :   (53%)Marketing Costs : (29%)Partnerships : (12%)Reserved fund : (4%)Listing costs : (2%)Token Sale InfoOffering type : Initial Coin OfferingTokens for sale : 600,000,000 GAI Distribution : 60%Ico Crowdsale Soft cap : 40,000,000$Ico Crowdsale Hard cap : 120,000,000$Accepted Currencies : Ethereum (ETH) - Bitcoin (BTC) - Bitcoin Cash (BCH) - Tether Omni (USDT) - Tether ERC20 (USDT)Private-Sale PhaseCap          : 20,000,000$Tokens    : 200,000,000 GAI (20%)Min-sale : 5000$Price       : 1 GAI = 0.1$Bonus     : 50% First 3 days - 40% Next 4 days Duration : 7 DaysٍStaring    : Oct 27, 2020 (9:00AM GMT)Ending     : Nov 2, 2020 (11:00AM GMT)Pre-Ico PhaseCap          : 40,000,000$Tokens    : 200,000,000 GAI (20%)Min-sale : 500$Price       : 0.2$Bonus     : 15 days[30%] - 15 days[20%] - 15days[17%] - 15 days[15%]Duration : 60 daysٍStaring    : Nov 3, 2020 (9:00AM GMT)Ending     : Jan 1, 2021 (11:00AM GMT) Ico PhaseCap          : 60,000,000$Tokens    : 200,000,000 GAI (20%)Min-sale : 100$Price       : 0.3$Bonus     : 15 days[10%] - 15 days[7%] - 15 days[5%] - 15 days[No Bonus]Duration : 60 daysٍStaring    : Jan 2, 2021 (9:00AM GMT)Ending     : Mar 2, 2021 (11:00AM GMT)Unsold Tokens will be burnedKYC                :   NoWhitelist          :  NoRestricted Area :  Libya - IRAQ - IRAN - USAExchanges(GAI) erc20 tokens will be added to many exchange platforms after the tokens selling stages have ended - The names of the exchange platforms to which (GAI) tokens will be added after the phases of selling (GAI) tokens will be announced through our official account on Twitter, and the tokens link on the exchanging platforms will also be added here on our official website in the section of the exchanging platforms.Games Assets Categorycharacterscharacter skinscharacters appelitiescharacters skillsweaponsweapons upgradesweapons partsweapons skinsammoArmorBombscarscar partsunlock itemslevels upspecial mapslimited mapsetcGames Assets ERC20 Tokens that created using Gchain Platform Examples:Game Character example:Character Token Info :Total Supply : 20,000,000 KARName :  KarakanSymbol : KARDecimal : 0can fly : 0fly height : 0walk speed : 2run speed : 4 jump height : 5Character erc20 code :
Code:
pragma solidity ^0.6.0;import "../../GSN/Context.sol";import "./IERC20.sol";import "../../math/SafeMath.sol";import "../../utils/Address.sol";contract ERC20 is Context, IERC20 {    using SafeMath for uint256;    using Address for address;    mapping (address => uint256) private _balances;    mapping (address => mapping (address => uint256)) private _allowances;    uint256 private _totalSupply;    string private _name;    string private _symbol;    uint8 private _decimals;    unit8 private _canfly;    unit8 private _flyheight;    unit8 private _walkspeed;    unit8 private _runspeed;     unit8 private _jumpheight;constructor (string memory name, string memory symbol) public {        _name = Karakan;        _symbol = KAR;        _decimals = 0;        _canfly = 0;        _flyheight = 0;        _walkspeed = 2;        _runspeed =4;         _jumpheight =5;    }    function name() public view returns (string memory) {        return _name;    }        function symbol() public view returns (string memory) {        return _symbol;    }       function decimals() public view returns (uint8) {        return _decimals;    }/***return canflyfunction canfly() public view returns (uint8) {        return _canfly;    }*//***return  flyheight function Flyheight() public view returns (uint8) {        return _Flyheight;    }*//***return walkspeedfunction walkspeed() public view returns (uint8) {        return _walkspeed;    }*//***return runspeedfunction runspeed() public view returns (uint8) {        return _runspeed;    }*//***return jumpheightfunction jumpheight() public view returns (uint8) {        return _jumpheight;    }*/        function totalSupply() public view override returns (uint256) {        return _totalSupply;    }        function balanceOf(address account) public view override returns (uint256) {        return _balances[account];    }       function transfer(address recipient, uint256 amount) public virtual override returns (bool) {        _transfer(_msgSender(), recipient, amount);        return true;    }    function allowance(address owner, address spender) public view virtual override returns (uint256) {        return _allowances[owner][spender];    }        function approve(address spender, uint256 amount) public virtual override returns (bool) {        _approve(_msgSender(), spender, amount);        return true;    }        function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {        _transfer(sender, recipient, amount);        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));        return true;    }        function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));        return true;    }        function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));        return true;    }        function _transfer(address sender, address recipient, uint256 amount) internal virtual {        require(sender != address(0), "ERC20: transfer from the zero address");        require(recipient != address(0), "ERC20: transfer to the zero address");        _beforeTokenTransfer(sender, recipient, amount);        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");        _balances[recipient] = _balances[recipient].add(amount);        emit Transfer(sender, recipient, amount);    }        function _addassets(address account, uint256 amount) internal virtual {        require(account != address(0), "ERC20: mint to the zero address");        _beforeTokenTransfer(address(0), account, amount);        _totalSupply = _totalSupply.add(amount);        _balances[account] = _balances[account].add(amount);        emit Transfer(address(0), account, amount);    }       function _kill(address account, uint256 amount) internal virtual {        require(account != address(0), "ERC20: burn from the zero address");        _beforeTokenTransfer(account, address(0), amount);        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");        _totalSupply = _totalSupply.sub(amount);        emit Transfer(account, address(0), amount);    }        function _approve(address owner, address spender, uint256 amount) internal virtual {        require(owner != address(0), "ERC20: approve from the zero address");        require(spender != address(0), "ERC20: approve to the zero address");        _allowances[owner][spender] = amount;        emit Approval(owner, spender, amount);    }        function _setupDecimals(uint8 decimals_) internal {        _decimals = decimals_;    }        function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }}
Weapon Character example:Weapon Token Info :Total Supply : 40,000,000 KARName :  Frak Shock RifleSymbol : FrkDecimal : 0firespeed : 1shellspeed : 1reloadspeed : 1damagepower : 100damagerate : 10maxdistance : 50Weapon erc20 code :
Code:
source code========pragma solidity ^0.6.0;import "../../GSN/Context.sol";import "./IERC20.sol";import "../../math/SafeMath.sol";import "../../utils/Address.sol";contract ERC20 is Context, IERC20 {    using SafeMath for uint256;    using Address for address;    mapping (address => uint256) private _balances;    mapping (address => mapping (address => uint256)) private _allowances;    uint256 private _totalSupply;    string private _name;    string private _symbol;    uint8 private _decimals;    unit8 private _firespeed;    unit8 private _shellspeed;    unit8 private _reloadspeed;    unit8 private _damagepower;    unit8 private _damagerate;     unit8 private _maxdistance;constructor (string memory name, string memory symbol) public {        _name = Frak Shock Rifle;        _symbol = Frk;        _decimals = 0;        _firespeed = 1;       _shellspeed = 1;       _reloadspeed = 1;       _damagepower = 100 ;      _damagerate = 10;       _maxdistance = 50 ;    }    function name() public view returns (string memory) {        return _name;    }       function symbol() public view returns (string memory) {        return _symbol;    }        function decimals() public view returns (uint8) {        return _decimals;    }/***return firespeedfunction firespeed() public view returns (uint8) {        return _firespeed;    }*//***return  shellspeedfunction shellspeed() public view returns (uint8) {        return _shellspeed;    }*//***return reloadspeedfunction reloadspeed() public view returns (uint8) {        return _reloadspeed;    }*//***return damagepowerfunction damagepower() public view returns (uint8) {        return _damagepower;    }*//***return damageratefunction damagerate() public view returns (uint8) {        return _damagerate;    }*//***return maxdistancefunction maxdistance() public view returns (uint8) {        return _maxdistance;    }*/        function totalSupply() public view override returns (uint256) {        return _totalSupply;    }        function balanceOf(address account) public view override returns (uint256) {        return _balances[account];    }    /    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {        _transfer(_msgSender(), recipient, amount);        return true;    }        function allowance(address owner, address spender) public view virtual override returns (uint256) {        return _allowances[owner][spender];    }       function approve(address spender, uint256 amount) public virtual override returns (bool) {        _approve(_msgSender(), spender, amount);        return true;    }        function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {        _transfer(sender, recipient, amount);        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));        return true;    }       function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));        return true;    }        function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));        return true;    }        function _transfer(address sender, address recipient, uint256 amount) internal virtual {        require(sender != address(0), "ERC20: transfer from the zero address");        require(recipient != address(0), "ERC20: transfer to the zero address");        _beforeTokenTransfer(sender, recipient, amount);        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");        _balances[recipient] = _balances[recipient].add(amount);        emit Transfer(sender, recipient, amount);    }       function _addassets(address account, uint256 amount) internal virtual {        require(account != address(0), "ERC20: mint to the zero address");        _beforeTokenTransfer(address(0), account, amount);        _totalSupply = _totalSupply.add(amount);        _balances[account] = _balances[account].add(amount);        emit Transfer(address(0), account, amount);    }        function _distroy(address account, uint256 amount) internal virtual {        require(account != address(0), "ERC20: burn from the zero address");        _beforeTokenTransfer(account, address(0), amount);        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");        _totalSupply = _totalSupply.sub(amount);        emit Transfer(account, address(0), amount);    }        function _approve(address owner, address spender, uint256 amount) internal virtual {        require(owner != address(0), "ERC20: approve from the zero address");        require(spender != address(0), "ERC20: approve to the zero address");        _allowances[owner][spender] = amount;        emit Approval(owner, spender, amount);    }       function _setupDecimals(uint8 decimals_) internal {        _decimals = decimals_;    }        function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }}

Share your thoughts, add a comment!

You must be logged in in order to place a comment.

Article comments

Loading...
No comments yet, be the first to comment this article