{"action":"closed","issue":{"url":"https://api.github.com/repos/animist-io/whale-island/issues/54","repository_url":"https://api.github.com/repos/animist-io/whale-island","labels_url":"https://api.github.com/repos/animist-io/whale-island/issues/54/labels{/name}","comments_url":"https://api.github.com/repos/animist-io/whale-island/issues/54/comments","events_url":"https://api.github.com/repos/animist-io/whale-island/issues/54/events","html_url":"https://github.com/animist-io/whale-island/issues/54","id":183229112,"number":54,"title":"broadcastBeacon","user":{"login":"cgewecke","id":7332026,"avatar_url":"https://avatars.githubusercontent.com/u/7332026?v=3","gravatar_id":"","url":"https://api.github.com/users/cgewecke","html_url":"https://github.com/cgewecke","followers_url":"https://api.github.com/users/cgewecke/followers","following_url":"https://api.github.com/users/cgewecke/following{/other_user}","gists_url":"https://api.github.com/users/cgewecke/gists{/gist_id}","starred_url":"https://api.github.com/users/cgewecke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cgewecke/subscriptions","organizations_url":"https://api.github.com/users/cgewecke/orgs","repos_url":"https://api.github.com/users/cgewecke/repos","events_url":"https://api.github.com/users/cgewecke/events{/privacy}","received_events_url":"https://api.github.com/users/cgewecke/received_events","type":"User","site_admin":false},"labels":[{"id":416343366,"url":"https://api.github.com/repos/animist-io/whale-island/labels/in%20progress","name":"in progress","color":"fbca04","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-10-15T19:47:31Z","updated_at":"2016-11-04T20:03:44Z","closed_at":"2016-11-04T20:03:44Z","body":"Allow contracts to broadcast an arbitrary beacon for 15 sec so that clients can coordinate a 'start'\n- Queue requests: dongle can only broadcast one at a time.\n- Randomly generate the major and minor.\n- Sign `{ uuid: <uuid>, major: <int>, minor: <int> }` w/ node account.\n- Execute client contract method: signBeacon( string signature )\n\nThe contract will need to have an authentication method that asks clients to submit the beacon data and extract the correct node address from it. This prevents the major/minor from being public in the contract. You have to prove you heard the signal by using the signal to generate the address that broadcast it. \n"}}
{"actor":{"display_login":"cgewecke"}}