payload: {"action":"created","comment":{"url":"https://api.github.com/repos/harmony-one/harmony/pulls/comments/295677396","pull_request_review_id":252131905,"id":295677396,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI5NTY3NzM5Ng==","diff_hunk":"@@ -201,44 +217,51 @@ func createGlobalConfig() *nodeconfig.ConfigType {\n \n \tnodeConfig := nodeconfig.GetDefaultConfig()\n \n-\t// Specified Shard ID override calculated Shard ID\n-\tif *shardID >= 0 {\n-\t\tutils.GetLogInstance().Info(\"ShardID Override\", \"original\", genesisAccount.ShardID, \"override\", *shardID)\n-\t\tgenesisAccount.ShardID = uint32(*shardID)\n-\t}\n-\n-\tif !*isNewNode {\n-\t\tnodeConfig = nodeconfig.GetShardConfig(uint32(genesisAccount.ShardID))\n-\t} else {\n-\t\tmyShardID = 0 // This should be default value as new node doesn't belong to any shard.\n+\tif !*isExplorer {\n+\t\t// Specified Shard ID override calculated Shard ID\n \t\tif *shardID >= 0 {\n-\t\t\tutils.GetLogInstance().Info(\"ShardID Override\", \"original\", myShardID, \"override\", *shardID)\n-\t\t\tmyShardID = uint32(*shardID)\n-\t\t\tnodeConfig = nodeconfig.GetShardConfig(myShardID)\n+\t\t\tutils.GetLogInstance().Info(\"ShardID Override\", \"original\", genesisAccount.ShardID, \"override\", *shardID)\n+\t\t\tgenesisAccount.ShardID = uint32(*shardID)\n \t\t}\n-\t}\n \n-\t// The initial genesis nodes are sequentially put into genesis shards based on their accountIndex\n-\tnodeConfig.ShardID = uint32(genesisAccount.ShardID)\n+\t\tif !*isNewNode {\n+\t\t\tnodeConfig = nodeconfig.GetShardConfig(uint32(genesisAccount.ShardID))\n+\t\t} else {\n+\t\t\tmyShardID = 0 // This should be default value as new node doesn't belong to any shard.\n+\t\t\tif *shardID >= 0 {\n+\t\t\t\tutils.GetLogInstance().Info(\"ShardID Override\", \"original\", myShardID, \"override\", *shardID)\n+\t\t\t\tmyShardID = uint32(*shardID)\n+\t\t\t\tnodeConfig = nodeconfig.GetShardConfig(myShardID)\n+\t\t\t}\n+\t\t}\n \n-\t// Set up consensus keys.\n-\tsetUpConsensusKeyAndReturnIndex(nodeConfig)\n+\t\t// Set up consensus keys.\n+\t\tsetUpConsensusKeyAndReturnIndex(nodeConfig)\n \n-\t// P2p private key is used for secure message transfer between p2p nodes.\n-\tnodeConfig.P2pPriKey, _, err = utils.LoadKeyFromFile(*keyFile)\n-\tif err != nil {\n-\t\tpanic(err)\n+\t\t// P2p private key is used for secure message transfer between p2p nodes.\n+\t\tnodeConfig.P2pPriKey, _, err = utils.LoadKeyFromFile(*keyFile)\n+\t\tif err != nil {\n+\t\t\tpanic(err)\n+\t\t}\n+\t} else {\n+\t\tnodeConfig = nodeconfig.GetShardConfig(uint32(*shardID))\n \t}\n \n \tnodeConfig.SelfPeer = p2p.Peer{IP: *ip, Port: *port, ConsensusPubKey: nodeConfig.ConsensusPubKey}\n \n-\tif accountIndex < core.GenesisShardNum { // The first node in a shard is the leader at genesis\n+\tif accountIndex < core.GenesisShardNum && !*isExplorer { // The first node in a shard is the leader at genesis","path":"cmd/harmony/main.go","position":91,"original_position":91,"commit_id":"c445e6249224fb3a49fa1e312734b562678fc9d7","original_commit_id":"c445e6249224fb3a49fa1e312734b562678fc9d7","user":{"login":"LeoHChen","id":4513927,"node_id":"MDQ6VXNlcjQ1MTM5Mjc=","avatar_url":"https://avatars1.githubusercontent.com/u/4513927?v=4","gravatar_id":"","url":"https://api.github.com/users/LeoHChen","html_url":"https://github.com/LeoHChen","followers_url":"https://api.github.com/users/LeoHChen/followers","following_url":"https://api.github.com/users/LeoHChen/following{/other_user}","gists_url":"https://api.github.com/users/LeoHChen/gists{/gist_id}","starred_url":"https://api.github.com/users/LeoHChen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LeoHChen/subscriptions","organizations_url":"https://api.github.com/users/LeoHChen/orgs","repos_url":"https://api.github.com/users/LeoHChen/repos","events_url":"https://api.github.com/users/LeoHChen/events{/privacy}","received_events_url":"https://api.github.com/users/LeoHChen/received_events","type":"User","site_admin":false},"body":"is there a StringRole for explorer?","created_at":"2019-06-20T07:32:45Z","updated_at":"2019-06-20T07:38:26Z","html_url":"https://github.com/harmony-one/harmony/pull/1042#discussion_r295677396","pull_request_url":"https://api.github.com/repos/harmony-one/harmony/pulls/1042","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/harmony-one/harmony/pulls/comments/295677396"},"html":{"href":"https://github.com/harmony-one/harmony/pull/1042#discussion_r295677396"},"pull_request":{"href":"https://api.github.com/repos/harmony-one/harmony/pulls/1042"}}},"pull_request":{"url":"https://api.github.com/repos/harmony-one/harmony/pulls/1042","id":288207543,"node_id":"MDExOlB1bGxSZXF1ZXN0Mjg4MjA3NTQz","html_url":"https://github.com/harmony-one/harmony/pull/1042","diff_url":"https://github.com/harmony-one/harmony/pull/1042.diff","patch_url":"https://github.com/harmony-one/harmony/pull/1042.patch","issue_url":"https://api.github.com/repos/harmony-one/harmony/issues/1042","number":1042,"state":"open","locked":false,"title":"Add support for explorer node/solve bootstrap deadlock issue","user":{"login":"rlan35","id":1042540,"node_id":"MDQ6VXNlcjEwNDI1NDA=","avatar_url":"https://avatars3.githubusercontent.com/u/1042540?v=4","gravatar_id":"","url":"https://api.github.com/users/rlan35","html_url":"https://github.com/rlan35","followers_url":"https://api.github.com/users/rlan35/followers","following_url":"https://api.github.com/users/rlan35/following{/other_user}","gists_url":"https://api.github.com/users/rlan35/gists{/gist_id}","starred_url":"https://api.github.com/users/rlan35/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rlan35/subscriptions","organizations_url":"https://api.github.com/users/rlan35/orgs","repos_url":"https://api.github.com/users/rlan35/repos","events_url":"https://api.github.com/users/rlan35/events{/privacy}","received_events_url":"https://api.github.com/users/rlan35/received_events","type":"User","site_admin":false},"body":"INFO [06-14|00:14:56.307] HOORAY!!!!!!! CONSENSUS REACHED!!!!!!!   port=9000  ip=127.0.0.1 myBlock=4 myViewID=3 phase=Announce mode=Normal funcName=github.com/harmony-one/harmony/consensus.(*Consensus).finalizeCommits           funcFile=consensus_v2.go      funcLine=574  numOfSignatures=0\r\n\r\nINFO [06-14|00:15:03.017] [Explorer] Committing block into explorer DB port=19999 ip=127.0.0.1 msgBlock=1","created_at":"2019-06-14T07:06:58Z","updated_at":"2019-06-20T07:38:26Z","closed_at":null,"merged_at":null,"merge_commit_sha":"dfa06babf9514f0ac88ad1a219be62007061aebe","assignee":null,"assignees":[],"requested_reviewers":[{"login":"harmony-ek","id":42688919,"node_id":"MDQ6VXNlcjQyNjg4OTE5","avatar_url":"https://avatars3.githubusercontent.com/u/42688919?v=4","gravatar_id":"","url":"https://api.github.com/users/harmony-ek","html_url":"https://github.com/harmony-ek","followers_url":"https://api.github.com/users/harmony-ek/followers","following_url":"https://api.github.com/users/harmony-ek/following{/other_user}","gists_url":"https://api.github.com/users/harmony-ek/gists{/gist_id}","starred_url":"https://api.github.com/users/harmony-ek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/harmony-ek/subscriptions","organizations_url":"https://api.github.com/users/harmony-ek/orgs","repos_url":"https://api.github.com/users/harmony-ek/repos","events_url":"https://api.github.com/users/harmony-ek/events{/privacy}","received_events_url":"https://api.github.com/users/harmony-ek/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/harmony-one/harmony/pulls/1042/commits","review_comments_url":"https://api.github.com/repos/harmony-one/harmony/pulls/1042/comments","review_comment_url":"https://api.github.com/repos/harmony-one/harmony/pulls/comments{/number}","comments_url":"https://api.github.com/repos/harmony-one/harmony/issues/1042/comments","statuses_url":"https://api.github.com/repos/harmony-one/harmony/statuses/c445e6249224fb3a49fa1e312734b562678fc9d7","head":{"label":"rlan35:rj_fork2","ref":"rj_fork2","sha":"c445e6249224fb3a49fa1e312734b562678fc9d7","user":{"login":"rlan35","id":1042540,"node_id":"MDQ6VXNlcjEwNDI1NDA=","avatar_url":"https://avatars3.githubusercontent.com/u/1042540?v=4","gravatar_id":"","url":"https://api.github.com/users/rlan35","html_url":"https://github.com/rlan35","followers_url":"https://api.github.com/users/rlan35/followers","following_url":"https://api.github.com/users/rlan35/following{/other_user}","gists_url":"https://api.github.com/users/rlan35/gists{/gist_id}","starred_url":"https://api.github.com/users/rlan35/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rlan35/subscriptions","organizations_url":"https://api.github.com/users/rlan35/orgs","repos_url":"https://api.github.com/users/rlan35/repos","events_url":"https://api.github.com/users/rlan35/events{/privacy}","received_events_url":"https://api.github.com/users/rlan35/received_events","type":"User","site_admin":false},"repo":{"id":190087387,"node_id":"MDEwOlJlcG9zaXRvcnkxOTAwODczODc=","name":"harmony","full_name":"rlan35/harmony","private":false,"owner":{"login":"rlan35","id":1042540,"node_id":"MDQ6VXNlcjEwNDI1NDA=","avatar_url":"https://avatars3.githubusercontent.com/u/1042540?v=4","gravatar_id":"","url":"https://api.github.com/users/rlan35","html_url":"https://github.com/rlan35","followers_url":"https://api.github.com/users/rlan35/followers","following_url":"https://api.github.com/users/rlan35/following{/other_user}","gists_url":"https://api.github.com/users/rlan35/gists{/gist_id}","starred_url":"https://api.github.com/users/rlan35/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rlan35/subscriptions","organizations_url":"https://api.github.com/users/rlan35/orgs","repos_url":"https://api.github.com/users/rlan35/repos","events_url":"https://api.github.com/users/rlan35/events{/privacy}","received_events_url":"https://api.github.com/users/rlan35/received_events","type":"User","site_admin":false},"html_url":"https://github.com/rlan35/harmony","description":"The core protocol of harmony","fork":true,"url":"https://api.github.com/repos/rlan35/harmony","forks_url":"https://api.github.com/repos/rlan35/harmony/forks","keys_url":"https://api.github.com/repos/rlan35/harmony/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rlan35/harmony/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rlan35/harmony/teams","hooks_url":"https://api.github.com/repos/rlan35/harmony/hooks","issue_events_url":"https://api.github.com/repos/rlan35/harmony/issues/events{/number}","events_url":"https://api.github.com/repos/rlan35/harmony/events","assignees_url":"https://api.github.com/repos/rlan35/harmony/assignees{/user}","branches_url":"https://api.github.com/repos/rlan35/harmony/branches{/branch}","tags_url":"https://api.github.com/repos/rlan35/harmony/tags","blobs_url":"https://api.github.com/repos/rlan35/harmony/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rlan35/harmony/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rlan35/harmony/git/refs{/sha}","trees_url":"https://api.github.com/repos/rlan35/harmony/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rlan35/harmony/statuses/{sha}","languages_url":"https://api.github.com/repos/rlan35/harmony/languages","stargazers_url":"https://api.github.com/repos/rlan35/harmony/stargazers","contributors_url":"https://api.github.com/repos/rlan35/harmony/contributors","subscribers_url":"https://api.github.com/repos/rlan35/harmony/subscribers","subscription_url":"https://api.github.com/repos/rlan35/harmony/subscription","commits_url":"https://api.github.com/repos/rlan35/harmony/commits{/sha}","git_commits_url":"https://api.github.com/repos/rlan35/harmony/git/commits{/sha}","comments_url":"https://api.github.com/repos/rlan35/harmony/comments{/number}","issue_comment_url":"https://api.github.com/repos/rlan35/harmony/issues/comments{/number}","contents_url":"https://api.github.com/repos/rlan35/harmony/contents/{+path}","compare_url":"https://api.github.com/repos/rlan35/harmony/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rlan35/harmony/merges","archive_url":"https://api.github.com/repos/rlan35/harmony/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rlan35/harmony/downloads","issues_url":"https://api.github.com/repos/rlan35/harmony/issues{/number}","pulls_url":"https://api.github.com/repos/rlan35/harmony/pulls{/number}","milestones_url":"https://api.github.com/repos/rlan35/harmony/milestones{/number}","notifications_url":"https://api.github.com/repos/rlan35/harmony/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rlan35/harmony/labels{/name}","releases_url":"https://api.github.com/repos/rlan35/harmony/releases{/id}","deployments_url":"https://api.github.com/repos/rlan35/harmony/deployments","created_at":"2019-06-03T21:51:35Z","updated_at":"2019-06-15T19:18:00Z","pushed_at":"2019-06-20T07:25:03Z","git_url":"git://github.com/rlan35/harmony.git","ssh_url":"git@github.com:rlan35/harmony.git","clone_url":"https://github.com/rlan35/harmony.git","svn_url":"https://github.com/rlan35/harmony","homepage":"https://harmony.one","size":12197,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"harmony-one:master","ref":"master","sha":"5aace06ba8a86a488c835884684abb10a23f719e","user":{"login":"harmony-one","id":39147399,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM5MTQ3Mzk5","avatar_url":"https://avatars2.githubusercontent.com/u/39147399?v=4","gravatar_id":"","url":"https://api.github.com/users/harmony-one","html_url":"https://github.com/harmony-one","followers_url":"https://api.github.com/users/harmony-one/followers","following_url":"https://api.github.com/users/harmony-one/following{/other_user}","gists_url":"https://api.github.com/users/harmony-one/gists{/gist_id}","starred_url":"https://api.github.com/users/harmony-one/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/harmony-one/subscriptions","organizations_url":"https://api.github.com/users/harmony-one/orgs","repos_url":"https://api.github.com/users/harmony-one/repos","events_url":"https://api.github.com/users/harmony-one/events{/privacy}","received_events_url":"https://api.github.com/users/harmony-one/received_events","type":"Organization","site_admin":false},"repo":{"id":134344706,"node_id":"MDEwOlJlcG9zaXRvcnkxMzQzNDQ3MDY=","name":"harmony","full_name":"harmony-one/harmony","private":false,"owner":{"login":"harmony-one","id":39147399,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM5MTQ3Mzk5","avatar_url":"https://avatars2.githubusercontent.com/u/39147399?v=4","gravatar_id":"","url":"https://api.github.com/users/harmony-one","html_url":"https://github.com/harmony-one","followers_url":"https://api.github.com/users/harmony-one/followers","following_url":"https://api.github.com/users/harmony-one/following{/other_user}","gists_url":"https://api.github.com/users/harmony-one/gists{/gist_id}","starred_url":"https://api.github.com/users/harmony-one/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/harmony-one/subscriptions","organizations_url":"https://api.github.com/users/harmony-one/orgs","repos_url":"https://api.github.com/users/harmony-one/repos","events_url":"https://api.github.com/users/harmony-one/events{/privacy}","received_events_url":"https://api.github.com/users/harmony-one/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/harmony-one/harmony","description":"The core protocol of harmony","fork":false,"url":"https://api.github.com/repos/harmony-one/harmony","forks_url":"https://api.github.com/repos/harmony-one/harmony/forks","keys_url":"https://api.github.com/repos/harmony-one/harmony/keys{/key_id}","collaborators_url":"https://api.github.com/repos/harmony-one/harmony/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/harmony-one/harmony/teams","hooks_url":"https://api.github.com/repos/harmony-one/harmony/hooks","issue_events_url":"https://api.github.com/repos/harmony-one/harmony/issues/events{/number}","events_url":"https://api.github.com/repos/harmony-one/harmony/events","assignees_url":"https://api.github.com/repos/harmony-one/harmony/assignees{/user}","branches_url":"https://api.github.com/repos/harmony-one/harmony/branches{/branch}","tags_url":"https://api.github.com/repos/harmony-one/harmony/tags","blobs_url":"https://api.github.com/repos/harmony-one/harmony/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/harmony-one/harmony/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/harmony-one/harmony/git/refs{/sha}","trees_url":"https://api.github.com/repos/harmony-one/harmony/git/trees{/sha}","statuses_url":"https://api.github.com/repos/harmony-one/harmony/statuses/{sha}","languages_url":"https://api.github.com/repos/harmony-one/harmony/languages","stargazers_url":"https://api.github.com/repos/harmony-one/harmony/stargazers","contributors_url":"https://api.github.com/repos/harmony-one/harmony/contributors","subscribers_url":"https://api.github.com/repos/harmony-one/harmony/subscribers","subscription_url":"https://api.github.com/repos/harmony-one/harmony/subscription","commits_url":"https://api.github.com/repos/harmony-one/harmony/commits{/sha}","git_commits_url":"https://api.github.com/repos/harmony-one/harmony/git/commits{/sha}","comments_url":"https://api.github.com/repos/harmony-one/harmony/comments{/number}","issue_comment_url":"https://api.github.com/repos/harmony-one/harmony/issues/comments{/number}","contents_url":"https://api.github.com/repos/harmony-one/harmony/contents/{+path}","compare_url":"https://api.github.com/repos/harmony-one/harmony/compare/{base}...{head}","merges_url":"https://api.github.com/repos/harmony-one/harmony/merges","archive_url":"https://api.github.com/repos/harmony-one/harmony/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/harmony-one/harmony/downloads","issues_url":"https://api.github.com/repos/harmony-one/harmony/issues{/number}","pulls_url":"https://api.github.com/repos/harmony-one/harmony/pulls{/number}","milestones_url":"https://api.github.com/repos/harmony-one/harmony/milestones{/number}","notifications_url":"https://api.github.com/repos/harmony-one/harmony/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/harmony-one/harmony/labels{/name}","releases_url":"https://api.github.com/repos/harmony-one/harmony/releases{/id}","deployments_url":"https://api.github.com/repos/harmony-one/harmony/deployments","created_at":"2018-05-22T01:37:50Z","updated_at":"2019-06-20T07:28:42Z","pushed_at":"2019-06-20T07:37:01Z","git_url":"git://github.com/harmony-one/harmony.git","ssh_url":"git@github.com:harmony-one/harmony.git","clone_url":"https://github.com/harmony-one/harmony.git","svn_url":"https://github.com/harmony-one/harmony","homepage":"https://harmony.one","size":12215,"stargazers_count":156,"watchers_count":156,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":39,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":107,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":39,"open_issues":107,"watchers":156,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/harmony-one/harmony/pulls/1042"},"html":{"href":"https://github.com/harmony-one/harmony/pull/1042"},"issue":{"href":"https://api.github.com/repos/harmony-one/harmony/issues/1042"},"comments":{"href":"https://api.github.com/repos/harmony-one/harmony/issues/1042/comments"},"review_comments":{"href":"https://api.github.com/repos/harmony-one/harmony/pulls/1042/comments"},"review_comment":{"href":"https://api.github.com/repos/harmony-one/harmony/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/harmony-one/harmony/pulls/1042/commits"},"statuses":{"href":"https://api.github.com/repos/harmony-one/harmony/statuses/c445e6249224fb3a49fa1e312734b562678fc9d7"}},"author_association":"CONTRIBUTOR"}}
other: {"actor":{"display_login":"LeoHChen"}}