<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://en.zaoniao.it/index.php?action=history&amp;feed=atom&amp;title=Golem_Network_Token</id>
	<title>Golem Network Token - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://en.zaoniao.it/index.php?action=history&amp;feed=atom&amp;title=Golem_Network_Token"/>
	<link rel="alternate" type="text/html" href="http://en.zaoniao.it/index.php?title=Golem_Network_Token&amp;action=history"/>
	<updated>2026-05-15T08:04:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>http://en.zaoniao.it/index.php?title=Golem_Network_Token&amp;diff=1351&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;{{#seo: |title=Golem Network Token – zaoniao Wiki |keywords=Golem network token, GNT, token, price, usd, network, price |description=Golem Network Token is an Ethereum based...&quot;</title>
		<link rel="alternate" type="text/html" href="http://en.zaoniao.it/index.php?title=Golem_Network_Token&amp;diff=1351&amp;oldid=prev"/>
		<updated>2019-02-28T13:34:45Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{#seo: |title=Golem Network Token – zaoniao Wiki |keywords=Golem network token, GNT, token, price, usd, network, price |description=Golem Network Token is an Ethereum based...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{#seo:&lt;br /&gt;
|title=Golem Network Token – zaoniao Wiki&lt;br /&gt;
|keywords=Golem network token, GNT, token, price, usd, network, price&lt;br /&gt;
|description=Golem Network Token is an Ethereum based ERC20 token which is paid by the user for renting computational power. Providers can freely set their price in GNT as the rental price. Golem network is known to be a worldwide supercomputer.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;amp/&amp;gt;&lt;br /&gt;
[[File:2016_insert_image_000229.png |400px|right|Golem Network Token]]&lt;br /&gt;
'''Golem Network Token''' is an [[Ethereum]] based [[ERC20]] token which is paid by the user for renting computational power. Providers can freely set their price in GNT as the rental price. Since Golem works as a marketplace, therefore, these prices will reach equilibrium over time. GNT is also required to submit deposits to providers and for participation in the application registry.&lt;br /&gt;
&lt;br /&gt;
==Token Information==&lt;br /&gt;
{|&lt;br /&gt;
|Website:&lt;br /&gt;
|https://golem.network/&lt;br /&gt;
|-&lt;br /&gt;
|Forum:&lt;br /&gt;
|https://golemproject.slack.com&lt;br /&gt;
|-&lt;br /&gt;
|Explorer:&lt;br /&gt;
|https://etherscan.io/token/Golem&lt;br /&gt;
|-&lt;br /&gt;
|Exchanges:&lt;br /&gt;
|https://coinmarketcap.com/assets/golem-network-tokens/#markets&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Token Contract Information==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Symbol:&lt;br /&gt;
|GNT&lt;br /&gt;
|-&lt;br /&gt;
|Name:&lt;br /&gt;
|Golem Network Token&lt;br /&gt;
|-&lt;br /&gt;
|Address:&lt;br /&gt;
|[https://etherscan.io/address/0xa74476443119a942de498590fe1f2454d7d4ac0d 0xa74476443119a942de498590fe1f2454d7d4ac0d]&lt;br /&gt;
|-&lt;br /&gt;
|Decimal places:&lt;br /&gt;
|18&lt;br /&gt;
|-&lt;br /&gt;
|Available supply:&lt;br /&gt;
|820,000,000&lt;br /&gt;
|-&lt;br /&gt;
|Total supply:&lt;br /&gt;
|1,000,000,000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How To Watch The Token Contract In Ethereum Wallet / Mist==&lt;br /&gt;
In Ethereum Wallet / Mist, select the '''CONTRACTS''' tab and click '''WATCH CONTRACT''' to open the Watch contract window. Then:&lt;br /&gt;
&lt;br /&gt;
* Under '''CONTRACT NAME''', enter '''GNT'''&lt;br /&gt;
* Under '''CONTRACT ADDRESS''', enter '''0xa74476443119a942de498590fe1f2454d7d4ac0d'''&lt;br /&gt;
* Copy the Application Binary Interface below and paste it into the '''JSON INTERFACE''' text box&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
[{&amp;quot;constant&amp;quot;:true,&amp;quot;inputs&amp;quot;:[],&amp;quot;name&amp;quot;:&amp;quot;name&amp;quot;,&amp;quot;outputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;}],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:true,&amp;quot;inputs&amp;quot;:[],&amp;quot;name&amp;quot;:&amp;quot;golemFactory&amp;quot;,&amp;quot;outputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;address&amp;quot;}],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:true,&amp;quot;inputs&amp;quot;:[],&amp;quot;name&amp;quot;:&amp;quot;totalSupply&amp;quot;,&amp;quot;outputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;uint256&amp;quot;}],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:false,&amp;quot;inputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;_master&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;address&amp;quot;}],&amp;quot;name&amp;quot;:&amp;quot;setMigrationMaster&amp;quot;,&amp;quot;outputs&amp;quot;:[],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:true,&amp;quot;inputs&amp;quot;:[],&amp;quot;name&amp;quot;:&amp;quot;decimals&amp;quot;,&amp;quot;outputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;uint8&amp;quot;}],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:false,&amp;quot;inputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;_value&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;uint256&amp;quot;}],&amp;quot;name&amp;quot;:&amp;quot;migrate&amp;quot;,&amp;quot;outputs&amp;quot;:[],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:false,&amp;quot;inputs&amp;quot;:[],&amp;quot;name&amp;quot;:&amp;quot;finalize&amp;quot;,&amp;quot;outputs&amp;quot;:[],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:false,&amp;quot;inputs&amp;quot;:[],&amp;quot;name&amp;quot;:&amp;quot;refund&amp;quot;,&amp;quot;outputs&amp;quot;:[],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:true,&amp;quot;inputs&amp;quot;:[],&amp;quot;name&amp;quot;:&amp;quot;migrationMaster&amp;quot;,&amp;quot;outputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;address&amp;quot;}],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:true,&amp;quot;inputs&amp;quot;:[],&amp;quot;name&amp;quot;:&amp;quot;tokenCreationCap&amp;quot;,&amp;quot;outputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;uint256&amp;quot;}],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:true,&amp;quot;inputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;_owner&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;address&amp;quot;}],&amp;quot;name&amp;quot;:&amp;quot;balanceOf&amp;quot;,&amp;quot;outputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;uint256&amp;quot;}],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:false,&amp;quot;inputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;_agent&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;address&amp;quot;}],&amp;quot;name&amp;quot;:&amp;quot;setMigrationAgent&amp;quot;,&amp;quot;outputs&amp;quot;:[],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:true,&amp;quot;inputs&amp;quot;:[],&amp;quot;name&amp;quot;:&amp;quot;migrationAgent&amp;quot;,&amp;quot;outputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;address&amp;quot;}],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:true,&amp;quot;inputs&amp;quot;:[],&amp;quot;name&amp;quot;:&amp;quot;fundingEndBlock&amp;quot;,&amp;quot;outputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;uint256&amp;quot;}],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:true,&amp;quot;inputs&amp;quot;:[],&amp;quot;name&amp;quot;:&amp;quot;totalMigrated&amp;quot;,&amp;quot;outputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;uint256&amp;quot;}],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:true,&amp;quot;inputs&amp;quot;:[],&amp;quot;name&amp;quot;:&amp;quot;symbol&amp;quot;,&amp;quot;outputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;}],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:false,&amp;quot;inputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;_to&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;address&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;_value&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;uint256&amp;quot;}],&amp;quot;name&amp;quot;:&amp;quot;transfer&amp;quot;,&amp;quot;outputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;bool&amp;quot;}],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:true,&amp;quot;inputs&amp;quot;:[],&amp;quot;name&amp;quot;:&amp;quot;tokenCreationMin&amp;quot;,&amp;quot;outputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;uint256&amp;quot;}],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:true,&amp;quot;inputs&amp;quot;:[],&amp;quot;name&amp;quot;:&amp;quot;funding&amp;quot;,&amp;quot;outputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;bool&amp;quot;}],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:true,&amp;quot;inputs&amp;quot;:[],&amp;quot;name&amp;quot;:&amp;quot;tokenCreationRate&amp;quot;,&amp;quot;outputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;uint256&amp;quot;}],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:true,&amp;quot;inputs&amp;quot;:[],&amp;quot;name&amp;quot;:&amp;quot;fundingStartBlock&amp;quot;,&amp;quot;outputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;uint256&amp;quot;}],&amp;quot;payable&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;constant&amp;quot;:false,&amp;quot;inputs&amp;quot;:[],&amp;quot;name&amp;quot;:&amp;quot;create&amp;quot;,&amp;quot;outputs&amp;quot;:[],&amp;quot;payable&amp;quot;:true,&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;},{&amp;quot;inputs&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;_golemFactory&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;address&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;_migrationMaster&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;address&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;_fundingStartBlock&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;uint256&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;_fundingEndBlock&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;uint256&amp;quot;}],&amp;quot;type&amp;quot;:&amp;quot;constructor&amp;quot;},{&amp;quot;anonymous&amp;quot;:false,&amp;quot;inputs&amp;quot;:[{&amp;quot;indexed&amp;quot;:true,&amp;quot;name&amp;quot;:&amp;quot;_from&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;address&amp;quot;},{&amp;quot;indexed&amp;quot;:true,&amp;quot;name&amp;quot;:&amp;quot;_to&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;address&amp;quot;},{&amp;quot;indexed&amp;quot;:false,&amp;quot;name&amp;quot;:&amp;quot;_value&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;uint256&amp;quot;}],&amp;quot;name&amp;quot;:&amp;quot;Transfer&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;event&amp;quot;},{&amp;quot;anonymous&amp;quot;:false,&amp;quot;inputs&amp;quot;:[{&amp;quot;indexed&amp;quot;:true,&amp;quot;name&amp;quot;:&amp;quot;_from&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;address&amp;quot;},{&amp;quot;indexed&amp;quot;:true,&amp;quot;name&amp;quot;:&amp;quot;_to&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;address&amp;quot;},{&amp;quot;indexed&amp;quot;:false,&amp;quot;name&amp;quot;:&amp;quot;_value&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;uint256&amp;quot;}],&amp;quot;name&amp;quot;:&amp;quot;Migrate&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;event&amp;quot;},{&amp;quot;anonymous&amp;quot;:false,&amp;quot;inputs&amp;quot;:[{&amp;quot;indexed&amp;quot;:true,&amp;quot;name&amp;quot;:&amp;quot;_from&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;address&amp;quot;},{&amp;quot;indexed&amp;quot;:false,&amp;quot;name&amp;quot;:&amp;quot;_value&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;uint256&amp;quot;}],&amp;quot;name&amp;quot;:&amp;quot;Refund&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;event&amp;quot;}]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Click '''OK'''&lt;br /&gt;
: [[File:ext_38dKJsdjh_GNTWatchContract.png|border]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How To Watch The Token In Ethereum Wallet / Mist==&lt;br /&gt;
In Ethereum Wallet / Mist, select the '''CONTRACTS''' tab and click '''WATCH TOKEN''' to open the Add token window. Then:&lt;br /&gt;
&lt;br /&gt;
* Under '''TOKEN CONTRACT ADDRESS''', enter '''0xa74476443119a942de498590fe1f2454d7d4ac0d'''. The additional fields should automatically be filled in.&lt;br /&gt;
&lt;br /&gt;
* Click '''OK'''&lt;br /&gt;
&lt;br /&gt;
: [[File:ext_38dKJsdjh_GNTWatchToken.png|border]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Check Your Token Balance In EtherScan.io==&lt;br /&gt;
&lt;br /&gt;
Navigate to https://etherscan.io/. Then:&lt;br /&gt;
* Select the menu '''TOKEN''' -&amp;gt; '''View Tokens'''&lt;br /&gt;
* Select '''GOLEM'''&lt;br /&gt;
* Select the '''Read Contract''' tab&lt;br /&gt;
* In the '''balanceOf''' field, enter the address you want to check the token balance of&lt;br /&gt;
* Click '''Query'''&lt;br /&gt;
&lt;br /&gt;
: [[File:ext_38dKJsdjh_GNTCheckTokenBalanceEtherScanIo.png|border|800px]]&lt;br /&gt;
&lt;br /&gt;
A simpler way to check your token balance is to navigate to https://etherscan.io/. Then:&lt;br /&gt;
* Enter your address into the search box on the top right of the screen&lt;br /&gt;
* Press '''ENTER'''&lt;br /&gt;
* Click on the '''View Token Balances''' dropdown&lt;br /&gt;
&lt;br /&gt;
: [[File:golem_wallet_1.png|border|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How To Interact With The Token Smart Contract In Ethereum Wallet / Mist==&lt;br /&gt;
&lt;br /&gt;
===How To Check Your Token Balance In Ethereum Wallet / Mist===&lt;br /&gt;
&lt;br /&gt;
[[#How To Watch The Smart Contract In Ethereum Wallet / Mist|Watch the Contract]] and [[#How To Watch The Token In Ethereum Wallet / Mist|Watch the Token]] as described above. Then:&lt;br /&gt;
* View the '''GNT''' contract&lt;br /&gt;
* Click on '''SHOW CONTRACT INFO'''&lt;br /&gt;
* In the '''READ FROM CONTRACT''' section and under '''Balance of''':&lt;br /&gt;
** Enter the address you want to check the token balance of&lt;br /&gt;
** The token balance will be displayed in the [[Natural Units]] with 18 decimal places. e.g., 806451612903225800000 is 806451612903225800000 / 1e18 = 806.4516129032258 token units&lt;br /&gt;
&lt;br /&gt;
:: [[File:ext_38dKJsdjh_GNTCheckTokenBalance.png|border|600px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How To Transfer Your Tokens In Ethereum Wallet / Mist===&lt;br /&gt;
&lt;br /&gt;
[[#How To Watch The Smart Contract In Ethereum Wallet / Mist|Watch the Contract]] and [[#How To Watch The Token In Ethereum Wallet / Mist|Watch the Token]] as described above. Then:&lt;br /&gt;
* View the '''GNT''' contract&lt;br /&gt;
* Click on '''SHOW CONTRACT INFO'''&lt;br /&gt;
* In the '''WRITE TO CONTRACT''' section and under '''Select function''':&lt;br /&gt;
** Select the '''Transfer''' function&lt;br /&gt;
** Under ''to'', enter the address you want to transfer your tokens to&lt;br /&gt;
** Under ''value''', enter the amount of tokens you want to transfer. This amount needs to be specified in the [[Natural Units]] with 18 decimal places. e.g., 1230000000000000000 is 1230000000000000000 / 1e18 = 1.23 GNTs&lt;br /&gt;
** Under '''Execute from''', select the account you want to transfer your tokens from&lt;br /&gt;
** Click on '''Execute''', then confirm your transaction&lt;br /&gt;
&lt;br /&gt;
:: [[File:ext_38dKJsdjh_GNTTransferTokens.png|border|600px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The Token Contract Source Code==&lt;br /&gt;
&lt;br /&gt;
Following is the source code from [https://etherscan.io/address/0xa74476443119a942de498590fe1f2454d7d4ac0d#code 0xa74476443119a942de498590fe1f2454d7d4ac0d]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; line='line'&amp;gt;&lt;br /&gt;
pragma solidity ^0.4.4;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/// @title Golem Network Token (GNT) - crowdfunding code for Golem Project&lt;br /&gt;
contract GolemNetworkToken {&lt;br /&gt;
    string public constant name = &amp;quot;Golem Network Token&amp;quot;;&lt;br /&gt;
    string public constant symbol = &amp;quot;GNT&amp;quot;;&lt;br /&gt;
    uint8 public constant decimals = 18;  // 18 decimal places, the same as ETH.&lt;br /&gt;
&lt;br /&gt;
    uint256 public constant tokenCreationRate = 1000;&lt;br /&gt;
&lt;br /&gt;
    // The funding cap in weis.&lt;br /&gt;
    uint256 public constant tokenCreationCap = 820000 ether * tokenCreationRate;&lt;br /&gt;
    uint256 public constant tokenCreationMin = 150000 ether * tokenCreationRate;&lt;br /&gt;
&lt;br /&gt;
    uint256 public fundingStartBlock;&lt;br /&gt;
    uint256 public fundingEndBlock;&lt;br /&gt;
&lt;br /&gt;
    // The flag indicates if the GNT contract is in Funding state.&lt;br /&gt;
    bool public funding = true;&lt;br /&gt;
&lt;br /&gt;
    // Receives ETH and its own GNT endowment.&lt;br /&gt;
    address public golemFactory;&lt;br /&gt;
&lt;br /&gt;
    // Has control over token migration to next version of token.&lt;br /&gt;
    address public migrationMaster;&lt;br /&gt;
&lt;br /&gt;
    GNTAllocation lockedAllocation;&lt;br /&gt;
&lt;br /&gt;
    // The current total token supply.&lt;br /&gt;
    uint256 totalTokens;&lt;br /&gt;
&lt;br /&gt;
    mapping (address =&amp;gt; uint256) balances;&lt;br /&gt;
&lt;br /&gt;
    address public migrationAgent;&lt;br /&gt;
    uint256 public totalMigrated;&lt;br /&gt;
&lt;br /&gt;
    event Transfer(address indexed _from, address indexed _to, uint256 _value);&lt;br /&gt;
    event Migrate(address indexed _from, address indexed _to, uint256 _value);&lt;br /&gt;
    event Refund(address indexed _from, uint256 _value);&lt;br /&gt;
&lt;br /&gt;
    function GolemNetworkToken(address _golemFactory,&lt;br /&gt;
                               address _migrationMaster,&lt;br /&gt;
                               uint256 _fundingStartBlock,&lt;br /&gt;
                               uint256 _fundingEndBlock) {&lt;br /&gt;
&lt;br /&gt;
        if (_golemFactory == 0) throw;&lt;br /&gt;
        if (_migrationMaster == 0) throw;&lt;br /&gt;
        if (_fundingStartBlock &amp;lt;= block.number) throw;&lt;br /&gt;
        if (_fundingEndBlock   &amp;lt;= _fundingStartBlock) throw;&lt;br /&gt;
&lt;br /&gt;
        lockedAllocation = new GNTAllocation(_golemFactory);&lt;br /&gt;
        migrationMaster = _migrationMaster;&lt;br /&gt;
        golemFactory = _golemFactory;&lt;br /&gt;
        fundingStartBlock = _fundingStartBlock;&lt;br /&gt;
        fundingEndBlock = _fundingEndBlock;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /// @notice Transfer `_value` GNT tokens from sender's account&lt;br /&gt;
    /// `msg.sender` to provided account address `_to`.&lt;br /&gt;
    /// @notice This function is disabled during the funding.&lt;br /&gt;
    /// @dev Required state: Operational&lt;br /&gt;
    /// @param _to The address of the tokens recipient&lt;br /&gt;
    /// @param _value The amount of token to be transferred&lt;br /&gt;
    /// @return Whether the transfer was successful or not&lt;br /&gt;
    function transfer(address _to, uint256 _value) returns (bool) {&lt;br /&gt;
        // Abort if not in Operational state.&lt;br /&gt;
        if (funding) throw;&lt;br /&gt;
&lt;br /&gt;
        var senderBalance = balances[msg.sender];&lt;br /&gt;
        if (senderBalance &amp;gt;= _value &amp;amp;&amp;amp; _value &amp;gt; 0) {&lt;br /&gt;
            senderBalance -= _value;&lt;br /&gt;
            balances[msg.sender] = senderBalance;&lt;br /&gt;
            balances[_to] += _value;&lt;br /&gt;
            Transfer(msg.sender, _to, _value);&lt;br /&gt;
            return true;&lt;br /&gt;
        }&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function totalSupply() external constant returns (uint256) {&lt;br /&gt;
        return totalTokens;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function balanceOf(address _owner) external constant returns (uint256) {&lt;br /&gt;
        return balances[_owner];&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Token migration support:&lt;br /&gt;
&lt;br /&gt;
    /// @notice Migrate tokens to the new token contract.&lt;br /&gt;
    /// @dev Required state: Operational Migration&lt;br /&gt;
    /// @param _value The amount of token to be migrated&lt;br /&gt;
    function migrate(uint256 _value) external {&lt;br /&gt;
        // Abort if not in Operational Migration state.&lt;br /&gt;
        if (funding) throw;&lt;br /&gt;
        if (migrationAgent == 0) throw;&lt;br /&gt;
&lt;br /&gt;
        // Validate input value.&lt;br /&gt;
        if (_value == 0) throw;&lt;br /&gt;
        if (_value &amp;gt; balances[msg.sender]) throw;&lt;br /&gt;
&lt;br /&gt;
        balances[msg.sender] -= _value;&lt;br /&gt;
        totalTokens -= _value;&lt;br /&gt;
        totalMigrated += _value;&lt;br /&gt;
        MigrationAgent(migrationAgent).migrateFrom(msg.sender, _value);&lt;br /&gt;
        Migrate(msg.sender, migrationAgent, _value);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /// @notice Set address of migration target contract and enable migration&lt;br /&gt;
    /// process.&lt;br /&gt;
    /// @dev Required state: Operational Normal&lt;br /&gt;
    /// @dev State transition: -&amp;gt; Operational Migration&lt;br /&gt;
    /// @param _agent The address of the MigrationAgent contract&lt;br /&gt;
    function setMigrationAgent(address _agent) external {&lt;br /&gt;
        // Abort if not in Operational Normal state.&lt;br /&gt;
        if (funding) throw;&lt;br /&gt;
        if (migrationAgent != 0) throw;&lt;br /&gt;
        if (msg.sender != migrationMaster) throw;&lt;br /&gt;
        migrationAgent = _agent;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function setMigrationMaster(address _master) external {&lt;br /&gt;
        if (msg.sender != migrationMaster) throw;&lt;br /&gt;
        if (_master == 0) throw;&lt;br /&gt;
        migrationMaster = _master;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Crowdfunding:&lt;br /&gt;
&lt;br /&gt;
    /// @notice Create tokens when funding is active.&lt;br /&gt;
    /// @dev Required state: Funding Active&lt;br /&gt;
    /// @dev State transition: -&amp;gt; Funding Success (only if cap reached)&lt;br /&gt;
    function create() payable external {&lt;br /&gt;
        // Abort if not in Funding Active state.&lt;br /&gt;
        // The checks are split (instead of using or operator) because it is&lt;br /&gt;
        // cheaper this way.&lt;br /&gt;
        if (!funding) throw;&lt;br /&gt;
        if (block.number &amp;lt; fundingStartBlock) throw;&lt;br /&gt;
        if (block.number &amp;gt; fundingEndBlock) throw;&lt;br /&gt;
&lt;br /&gt;
        // Do not allow creating 0 or more than the cap tokens.&lt;br /&gt;
        if (msg.value == 0) throw;&lt;br /&gt;
        if (msg.value &amp;gt; (tokenCreationCap - totalTokens) / tokenCreationRate)&lt;br /&gt;
            throw;&lt;br /&gt;
&lt;br /&gt;
        var numTokens = msg.value * tokenCreationRate;&lt;br /&gt;
        totalTokens += numTokens;&lt;br /&gt;
&lt;br /&gt;
        // Assign new tokens to the sender&lt;br /&gt;
        balances[msg.sender] += numTokens;&lt;br /&gt;
&lt;br /&gt;
        // Log token creation event&lt;br /&gt;
        Transfer(0, msg.sender, numTokens);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /// @notice Finalize crowdfunding&lt;br /&gt;
    /// @dev If cap was reached or crowdfunding has ended then:&lt;br /&gt;
    /// create GNT for the Golem Factory and developer,&lt;br /&gt;
    /// transfer ETH to the Golem Factory address.&lt;br /&gt;
    /// @dev Required state: Funding Success&lt;br /&gt;
    /// @dev State transition: -&amp;gt; Operational Normal&lt;br /&gt;
    function finalize() external {&lt;br /&gt;
        // Abort if not in Funding Success state.&lt;br /&gt;
        if (!funding) throw;&lt;br /&gt;
        if ((block.number &amp;lt;= fundingEndBlock ||&lt;br /&gt;
             totalTokens &amp;lt; tokenCreationMin) &amp;amp;&amp;amp;&lt;br /&gt;
            totalTokens &amp;lt; tokenCreationCap) throw;&lt;br /&gt;
&lt;br /&gt;
        // Switch to Operational state. This is the only place this can happen.&lt;br /&gt;
        funding = false;&lt;br /&gt;
&lt;br /&gt;
        // Create additional GNT for the Golem Factory and developers as&lt;br /&gt;
        // the 18% of total number of tokens.&lt;br /&gt;
        // All additional tokens are transfered to the account controller by&lt;br /&gt;
        // GNTAllocation contract which will not allow using them for 6 months.&lt;br /&gt;
        uint256 percentOfTotal = 18;&lt;br /&gt;
        uint256 additionalTokens =&lt;br /&gt;
            totalTokens * percentOfTotal / (100 - percentOfTotal);&lt;br /&gt;
        totalTokens += additionalTokens;&lt;br /&gt;
        balances[lockedAllocation] += additionalTokens;&lt;br /&gt;
        Transfer(0, lockedAllocation, additionalTokens);&lt;br /&gt;
&lt;br /&gt;
        // Transfer ETH to the Golem Factory address.&lt;br /&gt;
        if (!golemFactory.send(this.balance)) throw;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /// @notice Get back the ether sent during the funding in case the funding&lt;br /&gt;
    /// has not reached the minimum level.&lt;br /&gt;
    /// @dev Required state: Funding Failure&lt;br /&gt;
    function refund() external {&lt;br /&gt;
        // Abort if not in Funding Failure state.&lt;br /&gt;
        if (!funding) throw;&lt;br /&gt;
        if (block.number &amp;lt;= fundingEndBlock) throw;&lt;br /&gt;
        if (totalTokens &amp;gt;= tokenCreationMin) throw;&lt;br /&gt;
&lt;br /&gt;
        var gntValue = balances[msg.sender];&lt;br /&gt;
        if (gntValue == 0) throw;&lt;br /&gt;
        balances[msg.sender] = 0;&lt;br /&gt;
        totalTokens -= gntValue;&lt;br /&gt;
&lt;br /&gt;
        var ethValue = gntValue / tokenCreationRate;&lt;br /&gt;
        Refund(msg.sender, ethValue);&lt;br /&gt;
        if (!msg.sender.send(ethValue)) throw;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/// @title Migration Agent interface&lt;br /&gt;
contract MigrationAgent {&lt;br /&gt;
    function migrateFrom(address _from, uint256 _value);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/// @title GNT Allocation - Time-locked vault of tokens allocated&lt;br /&gt;
/// to developers and Golem Factory&lt;br /&gt;
contract GNTAllocation {&lt;br /&gt;
    // Total number of allocations to distribute additional tokens among&lt;br /&gt;
    // developers and the Golem Factory. The Golem Factory has right to 20000&lt;br /&gt;
    // allocations, developers to 10000 allocations, divides among individual&lt;br /&gt;
    // developers by numbers specified in  `allocations` table.&lt;br /&gt;
    uint256 constant totalAllocations = 30000;&lt;br /&gt;
&lt;br /&gt;
    // Addresses of developer and the Golem Factory to allocations mapping.&lt;br /&gt;
    mapping (address =&amp;gt; uint256) allocations;&lt;br /&gt;
&lt;br /&gt;
    GolemNetworkToken gnt;&lt;br /&gt;
    uint256 unlockedAt;&lt;br /&gt;
&lt;br /&gt;
    uint256 tokensCreated = 0;&lt;br /&gt;
&lt;br /&gt;
    function GNTAllocation(address _golemFactory) internal {&lt;br /&gt;
        gnt = GolemNetworkToken(msg.sender);&lt;br /&gt;
        unlockedAt = now + 6 * 30 days;&lt;br /&gt;
&lt;br /&gt;
        // For the Golem Factory:&lt;br /&gt;
        allocations[_golemFactory] = 20000; // 12/18 pp of 30000 allocations.&lt;br /&gt;
&lt;br /&gt;
        // For developers:&lt;br /&gt;
        allocations[0x9d3F257827B17161a098d380822fa2614FF540c8] = 2500; // 25.0% of developers' allocations (10000).&lt;br /&gt;
        allocations[0xd7406E50b73972Fa4aa533a881af68B623Ba3F66] =  730; //  7.3% of developers' allocations.&lt;br /&gt;
        allocations[0xd15356D05A7990dE7eC94304B0fD538e550c09C0] =  730;&lt;br /&gt;
        allocations[0x3971D17B62b825b151760E2451F818BfB64489A7] =  730;&lt;br /&gt;
        allocations[0x95e337d09f1bc67681b1cab7ed1125ea2bae5ca8] =  730;&lt;br /&gt;
        allocations[0x0025C58dB686b8CEce05CB8c50C1858b63Aa396E] =  730;&lt;br /&gt;
        allocations[0xB127FC62dE6ca30aAc9D551591daEDdeBB2eFD7A] =  630; //  6.3% of developers' allocations.&lt;br /&gt;
        allocations[0x21AF2E2c240a71E9fB84e90d71c2B2AddE0D0e81] =  630;&lt;br /&gt;
        allocations[0x682AA1C3b3E102ACB9c97B861d595F9fbfF0f1B8] =  630;&lt;br /&gt;
        allocations[0x6edd429c77803606cBd6Bb501CC701a6CAD6be01] =  630;&lt;br /&gt;
        allocations[0x5E455624372FE11b39464e93d41D1F6578c3D9f6] =  310; //  3.1% of developers' allocations.&lt;br /&gt;
        allocations[0xB7c7EaD515Ca275d53e30B39D8EBEdb3F19dA244] =  138; //  1.38% of developers' allocations.&lt;br /&gt;
        allocations[0xD513b1c3fe31F3Fe0b1E42aa8F55e903F19f1730] =  135; //  1.35% of developers' allocations.&lt;br /&gt;
        allocations[0x70cac7f8E404EEFce6526823452e428b5Ab09b00] =  100; //  1.0% of developers' allocations.&lt;br /&gt;
        allocations[0xe0d5861e7be0fac6c85ecde6e8bf76b046a96149] =  100;&lt;br /&gt;
        allocations[0x17488694D2feE4377Ec718836bb9d4910E81D9Cf] =  100;&lt;br /&gt;
        allocations[0xb481372086dEc3ca2FCCD3EB2f462c9C893Ef3C5] =  100;&lt;br /&gt;
        allocations[0xFB6D91E69CD7990651f26a3aa9f8d5a89159fC92] =   70; //  0.7% of developers' allocations.&lt;br /&gt;
        allocations[0xE2ABdAe2980a1447F445cb962f9c0bef1B63EE13] =   70;&lt;br /&gt;
        allocations[0x729A5c0232712caAf365fDd03c39cb361Bd41b1C] =   70;&lt;br /&gt;
        allocations[0x12FBD8fef4903f62e30dD79AC7F439F573E02697] =   70;&lt;br /&gt;
        allocations[0x657013005e5cFAF76f75d03b465cE085d402469A] =   42; //  0.42% of developers' allocations.&lt;br /&gt;
        allocations[0xD0AF9f75EA618163944585bF56aCA98204d0AB66] =   25; //  0.25% of developers' allocations.&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /// @notice Allow developer to unlock allocated tokens by transferring them&lt;br /&gt;
    /// from GNTAllocation to developer's address.&lt;br /&gt;
    function unlock() external {&lt;br /&gt;
        if (now &amp;lt; unlockedAt) throw;&lt;br /&gt;
&lt;br /&gt;
        // During first unlock attempt fetch total number of locked tokens.&lt;br /&gt;
        if (tokensCreated == 0)&lt;br /&gt;
            tokensCreated = gnt.balanceOf(this);&lt;br /&gt;
&lt;br /&gt;
        var allocation = allocations[msg.sender];&lt;br /&gt;
        allocations[msg.sender] = 0;&lt;br /&gt;
        var toTransfer = tokensCreated * allocation / totalAllocations;&lt;br /&gt;
&lt;br /&gt;
        // Will fail if allocation (and therefore toTransfer) is 0.&lt;br /&gt;
        if (!gnt.transfer(msg.sender, toTransfer)) throw;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Source==&lt;br /&gt;
[http://theethereum.wiki/ http://theethereum.wiki/]&lt;br /&gt;
[[Category:Ethereum]]&lt;br /&gt;
[[Category:Token]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>