{"action":"created","issue":{"url":"https://api.github.com/repos/mediachain/mediachain/issues/16","repository_url":"https://api.github.com/repos/mediachain/mediachain","labels_url":"https://api.github.com/repos/mediachain/mediachain/issues/16/labels{/name}","comments_url":"https://api.github.com/repos/mediachain/mediachain/issues/16/comments","events_url":"https://api.github.com/repos/mediachain/mediachain/issues/16/events","html_url":"https://github.com/mediachain/mediachain/issues/16","id":150149577,"number":16,"title":"Add tasks for Transactor milestone","user":{"login":"bigs","id":213338,"avatar_url":"https://avatars.githubusercontent.com/u/213338?v=3","gravatar_id":"","url":"https://api.github.com/users/bigs","html_url":"https://github.com/bigs","followers_url":"https://api.github.com/users/bigs/followers","following_url":"https://api.github.com/users/bigs/following{/other_user}","gists_url":"https://api.github.com/users/bigs/gists{/gist_id}","starred_url":"https://api.github.com/users/bigs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bigs/subscriptions","organizations_url":"https://api.github.com/users/bigs/orgs","repos_url":"https://api.github.com/users/bigs/repos","events_url":"https://api.github.com/users/bigs/events{/privacy}","received_events_url":"https://api.github.com/users/bigs/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/mediachain/mediachain/milestones/1","html_url":"https://github.com/mediachain/mediachain/milestones/Transactor%20Design","labels_url":"https://api.github.com/repos/mediachain/mediachain/milestones/1/labels","id":1723505,"number":1,"title":"Transactor Design","description":"Kicking off transactor design. There are two major surfaces of the transactor interfaces:\r\n\r\n- Staging Transactions\r\n  - Point of interaction for clients\r\n- Journal syndication\r\n  - API used by clients--push or pull\r\n\r\nWe want to focus on interface driven design, allowing us to fake as many things as possible. These include:\r\n- Journal persistence\r\n  - In memory, array/linked list based (our approach for now)\r\n  - RocksDB\r\n  - IPFS\r\n  - Cassandra, etc\r\n- Consensus\r\n  - We should aim to wrap Raft in a layer more domain (journal) specific, so we can tolerate \"unity\" i.e. single node consensus (ht @parkan) \r\n- Syndication\r\n  - Push/pull whatever","creator":{"login":"bigs","id":213338,"avatar_url":"https://avatars.githubusercontent.com/u/213338?v=3","gravatar_id":"","url":"https://api.github.com/users/bigs","html_url":"https://github.com/bigs","followers_url":"https://api.github.com/users/bigs/followers","following_url":"https://api.github.com/users/bigs/following{/other_user}","gists_url":"https://api.github.com/users/bigs/gists{/gist_id}","starred_url":"https://api.github.com/users/bigs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bigs/subscriptions","organizations_url":"https://api.github.com/users/bigs/orgs","repos_url":"https://api.github.com/users/bigs/repos","events_url":"https://api.github.com/users/bigs/events{/privacy}","received_events_url":"https://api.github.com/users/bigs/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":0,"state":"open","created_at":"2016-04-21T18:11:58Z","updated_at":"2016-04-21T18:13:36Z","due_on":null,"closed_at":null},"comments":10,"created_at":"2016-04-21T18:13:36Z","updated_at":"2016-04-22T14:06:53Z","closed_at":null,"body":"Kicking off transactor design. There are two major surfaces of the transactor interfaces:\r\n\r\n- Staging Transactions\r\n  - Point of interaction for clients\r\n- Journal syndication\r\n  - API used by clients--push or pull\r\n\r\nWe want to focus on interface driven design, allowing us to fake as many things as possible. These include:\r\n- Journal persistence\r\n  - In memory, array/linked list based (our approach for now)\r\n  - RocksDB\r\n  - IPFS\r\n  - Cassandra, etc\r\n- Consensus\r\n  - We should aim to wrap Raft in a layer more domain (journal) specific, so we can tolerate \"unity\" i.e. single node consensus (ht @parkan) \r\n- Syndication\r\n  - Push/pull whatever"},"comment":{"url":"https://api.github.com/repos/mediachain/mediachain/issues/comments/213441890","html_url":"https://github.com/mediachain/mediachain/issues/16#issuecomment-213441890","issue_url":"https://api.github.com/repos/mediachain/mediachain/issues/16","id":213441890,"user":{"login":"vyzo","id":36426,"avatar_url":"https://avatars.githubusercontent.com/u/36426?v=3","gravatar_id":"","url":"https://api.github.com/users/vyzo","html_url":"https://github.com/vyzo","followers_url":"https://api.github.com/users/vyzo/followers","following_url":"https://api.github.com/users/vyzo/following{/other_user}","gists_url":"https://api.github.com/users/vyzo/gists{/gist_id}","starred_url":"https://api.github.com/users/vyzo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vyzo/subscriptions","organizations_url":"https://api.github.com/users/vyzo/orgs","repos_url":"https://api.github.com/users/vyzo/repos","events_url":"https://api.github.com/users/vyzo/events{/privacy}","received_events_url":"https://api.github.com/users/vyzo/received_events","type":"User","site_admin":false},"created_at":"2016-04-22T14:06:52Z","updated_at":"2016-04-22T14:06:52Z","body":"I mean writing to the datastore -- we can do various forms of persistence if we have an external component: local key-value for testing, dynamodb for bootstrap, and ipfs for when we go live. \r\nWe can actually use dynamodb for backing store (instead of S3) even when we are writing to ipfs."}}