{"action":"created","issue":{"url":"https://api.github.com/repos/fluencelabs/fluence/issues/170","repository_url":"https://api.github.com/repos/fluencelabs/fluence","labels_url":"https://api.github.com/repos/fluencelabs/fluence/issues/170/labels{/name}","comments_url":"https://api.github.com/repos/fluencelabs/fluence/issues/170/comments","events_url":"https://api.github.com/repos/fluencelabs/fluence/issues/170/events","html_url":"https://github.com/fluencelabs/fluence/issues/170","id":358677203,"node_id":"MDU6SXNzdWUzNTg2NzcyMDM=","number":170,"title":"Implement the client for interaction with Swarm API","user":{"login":"DieMyst","id":4075572,"node_id":"MDQ6VXNlcjQwNzU1NzI=","avatar_url":"https://avatars3.githubusercontent.com/u/4075572?v=4","gravatar_id":"","url":"https://api.github.com/users/DieMyst","html_url":"https://github.com/DieMyst","followers_url":"https://api.github.com/users/DieMyst/followers","following_url":"https://api.github.com/users/DieMyst/following{/other_user}","gists_url":"https://api.github.com/users/DieMyst/gists{/gist_id}","starred_url":"https://api.github.com/users/DieMyst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DieMyst/subscriptions","organizations_url":"https://api.github.com/users/DieMyst/orgs","repos_url":"https://api.github.com/users/DieMyst/repos","events_url":"https://api.github.com/users/DieMyst/events{/privacy}","received_events_url":"https://api.github.com/users/DieMyst/received_events","type":"User","site_admin":false},"labels":[{"id":782917791,"node_id":"MDU6TGFiZWw3ODI5MTc3OTE=","url":"https://api.github.com/repos/fluencelabs/fluence/labels/enhancement","name":"enhancement","color":"84b6eb","default":true},{"id":1044303128,"node_id":"MDU6TGFiZWwxMDQ0MzAzMTI4","url":"https://api.github.com/repos/fluencelabs/fluence/labels/external%20storage","name":"external storage","color":"4a6eef","default":false}],"state":"closed","locked":false,"assignee":{"login":"DieMyst","id":4075572,"node_id":"MDQ6VXNlcjQwNzU1NzI=","avatar_url":"https://avatars3.githubusercontent.com/u/4075572?v=4","gravatar_id":"","url":"https://api.github.com/users/DieMyst","html_url":"https://github.com/DieMyst","followers_url":"https://api.github.com/users/DieMyst/followers","following_url":"https://api.github.com/users/DieMyst/following{/other_user}","gists_url":"https://api.github.com/users/DieMyst/gists{/gist_id}","starred_url":"https://api.github.com/users/DieMyst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DieMyst/subscriptions","organizations_url":"https://api.github.com/users/DieMyst/orgs","repos_url":"https://api.github.com/users/DieMyst/repos","events_url":"https://api.github.com/users/DieMyst/events{/privacy}","received_events_url":"https://api.github.com/users/DieMyst/received_events","type":"User","site_admin":false},"assignees":[{"login":"DieMyst","id":4075572,"node_id":"MDQ6VXNlcjQwNzU1NzI=","avatar_url":"https://avatars3.githubusercontent.com/u/4075572?v=4","gravatar_id":"","url":"https://api.github.com/users/DieMyst","html_url":"https://github.com/DieMyst","followers_url":"https://api.github.com/users/DieMyst/followers","following_url":"https://api.github.com/users/DieMyst/following{/other_user}","gists_url":"https://api.github.com/users/DieMyst/gists{/gist_id}","starred_url":"https://api.github.com/users/DieMyst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DieMyst/subscriptions","organizations_url":"https://api.github.com/users/DieMyst/orgs","repos_url":"https://api.github.com/users/DieMyst/repos","events_url":"https://api.github.com/users/DieMyst/events{/privacy}","received_events_url":"https://api.github.com/users/DieMyst/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2018-09-10T15:31:55Z","updated_at":"2018-09-14T10:06:25Z","closed_at":"2018-09-14T10:06:25Z","author_association":"CONTRIBUTOR","body":"**Motivation:**\r\nExternal storage exists as a component in fluence's architecture for storing snapshots and logs of computation cluster and ability to check them by validators. We decided to use [Swarm](https://swarm-gateways.net/bzz:/theswarm.eth) after some research.\r\n\r\n**Proposed Changes:**\r\nFor a start, Fluence should be able to use main Swarm functionality like [uploading/downloading files and directories](https://swarm-guide.readthedocs.io/en/latest/up-and-download.html) and usage of [Mutable Resource Updates (MRU)](https://swarm-guide.readthedocs.io/en/latest/usage.html#mutable-resource-updates). \r\n\r\nWe will create a thin client wrapper that will manage connections, prepare and send requests to Swarm. This client will be able to interact with Swarm nodes through [existing API](https://swarm-guide.readthedocs.io/en/latest/apireference.html). After some research, we realized, that it is better to use HTTP API rather than JSON-RPC or something else. It is more common and well-documented.\r\n\r\n**Rejected Alternatives:**\r\nThere is a lot of decentralized external storages, e.g IPFS, Sia, etc. \r\nSwarm is mature, well-documented and with economics in active development, hence we decide to use it."},"comment":{"url":"https://api.github.com/repos/fluencelabs/fluence/issues/comments/421305037","html_url":"https://github.com/fluencelabs/fluence/issues/170#issuecomment-421305037","issue_url":"https://api.github.com/repos/fluencelabs/fluence/issues/170","id":421305037,"node_id":"MDEyOklzc3VlQ29tbWVudDQyMTMwNTAzNw==","user":{"login":"DieMyst","id":4075572,"node_id":"MDQ6VXNlcjQwNzU1NzI=","avatar_url":"https://avatars3.githubusercontent.com/u/4075572?v=4","gravatar_id":"","url":"https://api.github.com/users/DieMyst","html_url":"https://github.com/DieMyst","followers_url":"https://api.github.com/users/DieMyst/followers","following_url":"https://api.github.com/users/DieMyst/following{/other_user}","gists_url":"https://api.github.com/users/DieMyst/gists{/gist_id}","starred_url":"https://api.github.com/users/DieMyst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DieMyst/subscriptions","organizations_url":"https://api.github.com/users/DieMyst/orgs","repos_url":"https://api.github.com/users/DieMyst/repos","events_url":"https://api.github.com/users/DieMyst/events{/privacy}","received_events_url":"https://api.github.com/users/DieMyst/received_events","type":"User","site_admin":false},"created_at":"2018-09-14T10:06:25Z","updated_at":"2018-09-14T10:06:25Z","author_association":"CONTRIBUTOR","body":"Implemented in https://github.com/fluencelabs/fluence/pull/148"}}
{"actor":{"display_login":"DieMyst"}}