{"action":"closed","issue":{"url":"https://api.github.com/repos/ethpm/ethpm-spec/issues/8","repository_url":"https://api.github.com/repos/ethpm/ethpm-spec","labels_url":"https://api.github.com/repos/ethpm/ethpm-spec/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/ethpm/ethpm-spec/issues/8/comments","events_url":"https://api.github.com/repos/ethpm/ethpm-spec/issues/8/events","html_url":"https://github.com/ethpm/ethpm-spec/issues/8","id":182282572,"number":8,"title":"example of range of use cases","user":{"login":"nmushegian","id":924397,"avatar_url":"https://avatars.githubusercontent.com/u/924397?v=3","gravatar_id":"","url":"https://api.github.com/users/nmushegian","html_url":"https://github.com/nmushegian","followers_url":"https://api.github.com/users/nmushegian/followers","following_url":"https://api.github.com/users/nmushegian/following{/other_user}","gists_url":"https://api.github.com/users/nmushegian/gists{/gist_id}","starred_url":"https://api.github.com/users/nmushegian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nmushegian/subscriptions","organizations_url":"https://api.github.com/users/nmushegian/orgs","repos_url":"https://api.github.com/users/nmushegian/repos","events_url":"https://api.github.com/users/nmushegian/events{/privacy}","received_events_url":"https://api.github.com/users/nmushegian/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2016-10-11T14:41:47Z","updated_at":"2017-02-05T23:56:41Z","closed_at":"2017-02-05T23:56:41Z","body":"From: https://github.com/ethereum/EIPs/issues/82\n\n> We want to ensure we can support the whole spectrum of Solidity packages, especially those that allow working with existing systems:\n> - Simple static libraries which make no reference to any objects on any chain (ie `Math`)\n> - Packages which describe singleton dapps (they ship address references and type info, but don't intend for people to re-use the solidity code, like actual Solidity libraries (`string`)).\n> - Packages which describe singleton dapps, with extra support code for interacting with the system (eg something that interacts with a registry)\n> - Packages which describe dapp \"types\" which you can deploy, like when an app is too large to build via a factory or requires a complex deployscript (eg a Token system that separates datastore/controller/frontend).\n\nPerhaps another way to think of it is:\n- packages with 0 addresses (just code)\n- 1 address with no state or minimal state (libraries, eth wrapper, a factory that remembers the address type)\n- 1+ addresses with state (1 or more chains)\n\nI think the \"contract\" vs \"library\" distinction is almost always a distraction because you can always hard-code addresses into libraries - there is no such category as \"1 address with no state\"\n"}}
{"actor":{"display_login":"pipermerriam"}}