{"action":"created","issue":{"url":"https://api.github.com/repos/mediachain/mediachain/issues/22","repository_url":"https://api.github.com/repos/mediachain/mediachain","labels_url":"https://api.github.com/repos/mediachain/mediachain/issues/22/labels{/name}","comments_url":"https://api.github.com/repos/mediachain/mediachain/issues/22/comments","events_url":"https://api.github.com/repos/mediachain/mediachain/issues/22/events","html_url":"https://github.com/mediachain/mediachain/issues/22","id":151217247,"number":22,"title":"Copycat state machine","user":{"login":"parkan","id":204986,"avatar_url":"https://avatars.githubusercontent.com/u/204986?v=3","gravatar_id":"","url":"https://api.github.com/users/parkan","html_url":"https://github.com/parkan","followers_url":"https://api.github.com/users/parkan/followers","following_url":"https://api.github.com/users/parkan/following{/other_user}","gists_url":"https://api.github.com/users/parkan/gists{/gist_id}","starred_url":"https://api.github.com/users/parkan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/parkan/subscriptions","organizations_url":"https://api.github.com/users/parkan/orgs","repos_url":"https://api.github.com/users/parkan/repos","events_url":"https://api.github.com/users/parkan/events{/privacy}","received_events_url":"https://api.github.com/users/parkan/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"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},"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":2,"closed_issues":4,"state":"open","created_at":"2016-04-21T18:11:58Z","updated_at":"2016-05-11T06:34:31Z","due_on":"2016-05-17T04:00:00Z","closed_at":null},"comments":4,"created_at":"2016-04-26T19:18:21Z","updated_at":"2016-05-11T06:34:32Z","closed_at":"2016-05-11T06:34:31Z","body":"Base state machine on top of https://github.com/atomix/copycat\r\n\r\npartial implementation in https://github.com/mediachain/mediachain/pull/21/"},"comment":{"url":"https://api.github.com/repos/mediachain/mediachain/issues/comments/218374095","html_url":"https://github.com/mediachain/mediachain/issues/22#issuecomment-218374095","issue_url":"https://api.github.com/repos/mediachain/mediachain/issues/22","id":218374095,"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-05-11T06:34:31Z","updated_at":"2016-05-11T06:34:31Z","body":"initial work is done, closing."}}