% This document can be rendered with a texlive-full installation by executing:

\documentclass[
   border=1pt
]{standalone}

\usepackage{units}
\usepackage{tikz}
\usepackage{printlen}
\usepackage{tkz-berge}
\usepackage{mathtools}
\usepackage{forest}
\usetikzlibrary{arrows.meta, chains, decorations.pathreplacing, shapes.multipart}


% Derived from macros found within forest documentation
\newcommand\measurexdistance[5][####1]{\measurexorydistance{#2}{#3}{#4}{#5}{\x}{-|}{(5pt,0)}{#1}}
\newcommand\measureydistance[5][####1]{\measurexorydistance{#2}{#3}{#4}{#5}{\y}{|-}{(0,5pt)}{#1}}
\tikzset{dimension/.style={<->,>=latex,thin,every rectangle node/.style={midway,font=\scriptsize}},
 guideline/.style=dotted}
\newdimen\absmd
\def\measurexorydistance#1#2#3#4#5#6#7#8{%
 \path #1 #3 #6 coordinate(md1) #1; \draw[guideline] #1 -- (md1);
 \path (md1) #6 coordinate(md2) #2; \draw[guideline] #2 -- (md2);
 \path let \p1=($(md1)-(md2)$), \n1={abs(#51)} in \pgfextra{\xdef\md{#51}\global\absmd=\n1\relax};
 \def\distancelabelwrapper##1{#8}%
 \ifdim\absmd>5mm
 \draw[dimension] (md1)--(md2) node[#4]{\distancelabelwrapper{\uselengthunit{mm}\rndprintlength\absmd}};
 \else
 \ifdim\md>0pt
 \draw[dimension,<-] (md1)--+#7; \draw[dimension,<-] let \p1=($(0,0)-#7$) in (md2)--+(\p1);
 \else
 \draw[dimension,<-] let \p1=($(0,0)-#7$) in (md1)--+(\p1); \draw[dimension,<-] (md2)--+#7;
 \fi
 \draw[dimension,-] (md1)--(md2) node[#4]{\distancelabelwrapper{\uselengthunit{mm}\rndprintlength\absmd}};
 \fi}

\begin{document}

\begin{forest}
  for tree={grow=east,s sep=8pt,l=0.5pt,inner sep=2pt}
  [Db,circle,draw,name=oldest,label=above:{\tiny \texttt{Snarked}}
    [$\cdot$,edge=dotted,name=basemask,label={[label distance=-2mm]270:{\tiny \texttt{Null Mask}}}
    [,circle,draw,name=locked,label=above:{\tiny \texttt{Locked}}
      [,circle,draw
            [,circle,draw
              [,circle,draw
                [,circle,draw
                  [,circle,draw]]]
              [,circle,draw
                [,circle,draw
                  [,circle,draw
                    [,circle,draw,name=best,label=above:{\tiny \texttt{Best}}]]]]
              [,circle,draw]]
            [,circle,draw]]]
    ]]]]]]]
    \node[draw,text width=4cm] at (2,1) {\scalebox{.4}{\texttt{Location of ledgers within the transition frontier}}};
\end{forest}

\end{document}


