{"action":"created","issue":{"url":"https://api.github.com/repos/AElfProject/AElf/issues/774","repository_url":"https://api.github.com/repos/AElfProject/AElf","labels_url":"https://api.github.com/repos/AElfProject/AElf/issues/774/labels{/name}","comments_url":"https://api.github.com/repos/AElfProject/AElf/issues/774/comments","events_url":"https://api.github.com/repos/AElfProject/AElf/issues/774/events","html_url":"https://github.com/AElfProject/AElf/issues/774","id":395607133,"node_id":"MDU6SXNzdWUzOTU2MDcxMzM=","number":774,"title":"IConsensus and DPoS","user":{"login":"loning","id":1593871,"node_id":"MDQ6VXNlcjE1OTM4NzE=","avatar_url":"https://avatars0.githubusercontent.com/u/1593871?v=4","gravatar_id":"","url":"https://api.github.com/users/loning","html_url":"https://github.com/loning","followers_url":"https://api.github.com/users/loning/followers","following_url":"https://api.github.com/users/loning/following{/other_user}","gists_url":"https://api.github.com/users/loning/gists{/gist_id}","starred_url":"https://api.github.com/users/loning/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/loning/subscriptions","organizations_url":"https://api.github.com/users/loning/orgs","repos_url":"https://api.github.com/users/loning/repos","events_url":"https://api.github.com/users/loning/events{/privacy}","received_events_url":"https://api.github.com/users/loning/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-01-03T15:10:19Z","updated_at":"2019-01-03T15:10:36Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"```\r\npublic interface IConsensus\r\n    {\r\n        void Start(bool willToMine);\r\n        void DisposeConsensusEventList();\r\n        Task UpdateConsensusInformation();\r\n        bool IsAlive();\r\n        bool Shutdown();\r\n    } \r\n```\r\nhas nothing about consensus logic, only control method\r\n\r\nin DPos class, I found\r\n\r\n```\r\nMessageHub.Instance.Subscribe<UpdateConsensus>\r\n```\r\nand lots of other messages. It's meaning a lot of message input is not defined in the interface, so the interface has no meaning. and also, when I implement a new consensus, only implement IConsensus can not make it work.\r\n\r\nin my view, IConsensus should be \r\n\r\n```\r\npublic class BlockchainContext{\r\n  long BlockHeight{get;set;}\r\n  Hash ChainId{get;set;}\r\n}\r\n\r\npublic interface IConsensus: ISmartContract\r\n    {\r\n        Task<bool> AppendNewBlock(BlockchainContext blockchainContext, Block block);\r\n    } \r\n\r\n```"},"comment":{"url":"https://api.github.com/repos/AElfProject/AElf/issues/comments/451171137","html_url":"https://github.com/AElfProject/AElf/issues/774#issuecomment-451171137","issue_url":"https://api.github.com/repos/AElfProject/AElf/issues/774","id":451171137,"node_id":"MDEyOklzc3VlQ29tbWVudDQ1MTE3MTEzNw==","user":{"login":"loning","id":1593871,"node_id":"MDQ6VXNlcjE1OTM4NzE=","avatar_url":"https://avatars0.githubusercontent.com/u/1593871?v=4","gravatar_id":"","url":"https://api.github.com/users/loning","html_url":"https://github.com/loning","followers_url":"https://api.github.com/users/loning/followers","following_url":"https://api.github.com/users/loning/following{/other_user}","gists_url":"https://api.github.com/users/loning/gists{/gist_id}","starred_url":"https://api.github.com/users/loning/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/loning/subscriptions","organizations_url":"https://api.github.com/users/loning/orgs","repos_url":"https://api.github.com/users/loning/repos","events_url":"https://api.github.com/users/loning/events{/privacy}","received_events_url":"https://api.github.com/users/loning/received_events","type":"User","site_admin":false},"created_at":"2019-01-03T15:10:36Z","updated_at":"2019-01-03T15:10:36Z","author_association":"CONTRIBUTOR","body":"@EanCuznaivy "}}
{"actor":{"display_login":"loning"}}