digraph { // This file is licensed under the MIT License (MIT) available on // http://opensource.org/licenses/MIT. size=6.25; rankdir=TB splines = "true"; ranksep = 0.2; nodesep = 0.9; edge [ penwidth = 1.75, fontname="Sans" ] node [ penwidth = 1.75, shape = "none", fontname="Sans"] graph [ penwidth = 1.75, fontname="Sans" ] fsbc [ label = "Fully-Synced Block Chain?", style = "filled" ]; fshc [ label = "Fully-Synced Header Chain?", style = "filled" ]; more_headers_than_blocks [ label = "More Headers Than Blocks?", style = "filled" ]; listen_for_new_blocks [ label = "Listen For New Blocks (Inv)" ]; request_blocks [ label = "Request Blocks (GetData)" ]; request_headers [ label = "Request Headers (GetHeaders)" ]; fsbc -> fshc [ label = " No" ]; fshc -> more_headers_than_blocks [ label = "No" ]; fshc -> request_headers [ label = " No" ]; fsbc -> listen_for_new_blocks [ label = "Yes", constraint=false ]; fshc -> request_blocks [ label = "Yes", constraint=false ]; request_blocks -> more_headers_than_blocks [ dir=back, label = " Yes" ]; //request_headers -> fshc [ style = "dotted", constraint = false ]; //request_blocks -> fsbc [ style = "dotted", constraint = false ]; label = "\ \nOverview Of Headers-First Initial Blocks Download (IBD)" }