{"action":"created","issue":{"url":"https://api.github.com/repos/ethereum/EIPs/issues/179","repository_url":"https://api.github.com/repos/ethereum/EIPs","labels_url":"https://api.github.com/repos/ethereum/EIPs/issues/179/labels{/name}","comments_url":"https://api.github.com/repos/ethereum/EIPs/issues/179/comments","events_url":"https://api.github.com/repos/ethereum/EIPs/issues/179/events","html_url":"https://github.com/ethereum/EIPs/issues/179","id":190374845,"number":179,"title":"ERC: Simpler Token Standard","user":{"login":"maraoz","id":287189,"avatar_url":"https://avatars.githubusercontent.com/u/287189?v=3","gravatar_id":"","url":"https://api.github.com/users/maraoz","html_url":"https://github.com/maraoz","followers_url":"https://api.github.com/users/maraoz/followers","following_url":"https://api.github.com/users/maraoz/following{/other_user}","gists_url":"https://api.github.com/users/maraoz/gists{/gist_id}","starred_url":"https://api.github.com/users/maraoz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maraoz/subscriptions","organizations_url":"https://api.github.com/users/maraoz/orgs","repos_url":"https://api.github.com/users/maraoz/repos","events_url":"https://api.github.com/users/maraoz/events{/privacy}","received_events_url":"https://api.github.com/users/maraoz/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-11-18T17:22:58Z","updated_at":"2016-11-28T08:15:00Z","closed_at":null,"body":"```\r\nERC: 179\r\nTitle: Simpler Token standard\r\nStatus: Draft\r\nType: Informational\r\nCreated: 18-11.2016\r\nResolution: https://github.com/ethereum/wiki/wiki/Standardized_Contract_APIs\r\n```\r\n\r\n# Abstract\r\nThe following describes standard functions a token contract can implement.\r\nThis ERC describes a simpler version of the [ERC20 standard token contract](https://github.com/ethereum/EIPs/issues/20), removing transfer approvals.\r\n\r\n# Motivation\r\nSome dapps need interfaces simpler than ERC20 as a base for their tokens. We've seen some projects take this approach already ([1]). The main problems with ERC20 standard token are: \r\n- Lack of reference implementation and tests\r\n- Higher complexity due to `approve` functionality, which not all projects need.\r\n- Returns boolean values to signal failure instead of throwing.\r\n- Function `totalSupply()` could just be implemented as a state variable in most cases.\r\n\r\n# Specification\r\n\r\n## totalSupply\r\n```javascript\r\nuint public totalSupply;\r\n```\r\nThe total token supply\r\n\r\n### balanceOf\r\n```javascript\r\nfunction balanceOf(address who) constant returns (uint);\r\n```\r\nGet the account balance of another account with address `who`\r\n\r\n### transfer\r\n```javascript\r\nfunction transfer(address to, uint value);\r\n```\r\nSend `value` amount of tokens to address `to`\r\n\r\n\r\n\r\n### Transfer event\r\n```javascript\r\nevent Transfer(address indexed from, address indexed to, uint value);\r\n```\r\nTriggered when tokens are transferred.\r\n\r\n# Reference Implementation and tests\r\nhttps://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/token/ERC20Basic.sol\r\nhttps://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/token/BasicToken.sol\r\nhttps://github.com/OpenZeppelin/zeppelin-solidity/blob/master/test/BasicToken.js\r\n\r\nAs you can see, the code is simpler and very concise. Comments appreciated.\r\n\r\n[1]: https://github.com/imapp-pl/golem-crowdfunding/blob/master/contracts/Token.sol"},"comment":{"url":"https://api.github.com/repos/ethereum/EIPs/issues/comments/263208211","html_url":"https://github.com/ethereum/EIPs/issues/179#issuecomment-263208211","issue_url":"https://api.github.com/repos/ethereum/EIPs/issues/179","id":263208211,"user":{"login":"Arachnid","id":17865,"avatar_url":"https://avatars.githubusercontent.com/u/17865?v=3","gravatar_id":"","url":"https://api.github.com/users/Arachnid","html_url":"https://github.com/Arachnid","followers_url":"https://api.github.com/users/Arachnid/followers","following_url":"https://api.github.com/users/Arachnid/following{/other_user}","gists_url":"https://api.github.com/users/Arachnid/gists{/gist_id}","starred_url":"https://api.github.com/users/Arachnid/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Arachnid/subscriptions","organizations_url":"https://api.github.com/users/Arachnid/orgs","repos_url":"https://api.github.com/users/Arachnid/repos","events_url":"https://api.github.com/users/Arachnid/events{/privacy}","received_events_url":"https://api.github.com/users/Arachnid/received_events","type":"User","site_admin":false},"created_at":"2016-11-28T08:15:00Z","updated_at":"2016-11-28T08:15:00Z","body":"> Note public keyword actually does generate a function, it's just syntactic sugar to generate a getter.\r\n\r\nIn that case, it should be defined in the spec as the equivalent function."}}
{"actor":{"display_login":"Arachnid"}}