{"action":"created","issue":{"url":"https://api.github.com/repos/OmniLayer/omnicore/issues/145","labels_url":"https://api.github.com/repos/OmniLayer/omnicore/issues/145/labels{/name}","comments_url":"https://api.github.com/repos/OmniLayer/omnicore/issues/145/comments","events_url":"https://api.github.com/repos/OmniLayer/omnicore/issues/145/events","html_url":"https://github.com/OmniLayer/omnicore/pull/145","id":96964511,"number":145,"title":"Implement tally hashing for consensus testing and checkpoints","user":{"login":"zathras-crypto","id":5633351,"avatar_url":"https://avatars.githubusercontent.com/u/5633351?v=3","gravatar_id":"","url":"https://api.github.com/users/zathras-crypto","html_url":"https://github.com/zathras-crypto","followers_url":"https://api.github.com/users/zathras-crypto/followers","following_url":"https://api.github.com/users/zathras-crypto/following{/other_user}","gists_url":"https://api.github.com/users/zathras-crypto/gists{/gist_id}","starred_url":"https://api.github.com/users/zathras-crypto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zathras-crypto/subscriptions","organizations_url":"https://api.github.com/users/zathras-crypto/orgs","repos_url":"https://api.github.com/users/zathras-crypto/repos","events_url":"https://api.github.com/users/zathras-crypto/events{/privacy}","received_events_url":"https://api.github.com/users/zathras-crypto/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-07-24T04:46:41Z","updated_at":"2015-07-26T10:14:25Z","closed_at":"2015-07-26T06:06:37Z","pull_request":{"url":"https://api.github.com/repos/OmniLayer/omnicore/pulls/145","html_url":"https://github.com/OmniLayer/omnicore/pull/145","diff_url":"https://github.com/OmniLayer/omnicore/pull/145.diff","patch_url":"https://github.com/OmniLayer/omnicore/pull/145.patch"},"body":"Consensus testing currently relies on looping through every property and checking the balance for every address.  This PR serves to distill that process down into a single hash, which can be used for consensus testing but also be used as a form of checkpointing (by verifying that all balances for all properties are as expected at a given block).  \r\n\r\nThis PR also implements a checkpointing system, and hardcoded checkpoints for every 10,000 blocks.  Strictly speaking only the most recent checkpoint is needed and earlier checkpoints may be removed later, however in the early stages of this PR and while it's being tested it is useful to have earlier checkpoints listed as this allows checkpoint verification functions to be tested earlier in the parsing process.\r\n\r\nThe RPC call ```omni_getcurrentconsensushash``` may be used to obtain the hash for the current block.\r\n\r\nFeedback would be most welcomed :)\r\n"},"comment":{"url":"https://api.github.com/repos/OmniLayer/omnicore/issues/comments/124966974","html_url":"https://github.com/OmniLayer/omnicore/pull/145#issuecomment-124966974","issue_url":"https://api.github.com/repos/OmniLayer/omnicore/issues/145","id":124966974,"user":{"login":"dexX7","id":5836089,"avatar_url":"https://avatars.githubusercontent.com/u/5836089?v=3","gravatar_id":"","url":"https://api.github.com/users/dexX7","html_url":"https://github.com/dexX7","followers_url":"https://api.github.com/users/dexX7/followers","following_url":"https://api.github.com/users/dexX7/following{/other_user}","gists_url":"https://api.github.com/users/dexX7/gists{/gist_id}","starred_url":"https://api.github.com/users/dexX7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dexX7/subscriptions","organizations_url":"https://api.github.com/users/dexX7/orgs","repos_url":"https://api.github.com/users/dexX7/repos","events_url":"https://api.github.com/users/dexX7/events{/privacy}","received_events_url":"https://api.github.com/users/dexX7/received_events","type":"User","site_admin":false},"created_at":"2015-07-26T10:14:25Z","updated_at":"2015-07-26T10:14:25Z","body":"Ah, I see, I see. Thanks.\r\n\r\nIt looks like the following build failed due to a hash mismatch, and now stalls:\r\n\r\nhttps://ci.omni.foundation/job/omni-mainnet-consensus/97/console\r\n\r\nIf you have CI server access, please cancel and restart. Was this after the update of the hashes?"}}