(* Content-type: application/vnd.wolfram.mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Wolfram 15.0' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       154,          7]
NotebookDataLength[     45575,       1204]
NotebookOptionsPosition[     36256,       1033]
NotebookOutlinePosition[     38622,       1086]
CellTagsIndexPosition[     38544,       1081]
WindowTitle->Base58CheckEncode
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{
Cell[BoxData[GridBox[{
   {GridBox[{
      {
       ItemBox[Cell[BoxData[
         RowBox[{
          TemplateBox[{12},
           "Spacer1"], Cell[
          "WOLFRAM INSTITUTE/ PUZZLES SYMBOL", "PacletNameCell",
           TextAlignment->Center,ExpressionUUID->
           "6c2264cc-8d4c-46ef-b964-dc8c3ae13be1"], 
          TemplateBox[{8},
           "Spacer1"]}]],
         TextAlignment->Center,ExpressionUUID->
         "4b933eee-1603-4c32-90b0-359981dcc27f"],
        Background->LightDarkSwitched[
          RGBColor[0.490196, 0.576471, 0.690196]],
        ItemSize->Full], ""}
     },
     GridBoxAlignment->{"Rows" -> {{Center}}},
     GridBoxItemSize->{"Columns" -> {Full, 
         Scaled[0.02]}, "Rows" -> {{2.5}}}], Cell[TextData[{
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "See Also",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "6c8ea4ef-a1ee-40d9-b062-411ed624577a"]
         }],ExpressionUUID->"3e95d552-6f43-48b4-95f8-349ace13e0f1"],
         StripOnInput->False],{
        StyleBox["\"Hash\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup["paclet:ref/Hash"], Delimiter, 
         StyleBox[
          "\"Functions\"", "SeeAlsoSection", FontSize -> 14, FontSlant -> 
           "Italic", StripOnInput -> False] :> 
         NotebookFind[EvaluationNotebook[], "SeeAlsoSection", All, CellStyle],
          StyleBox[
          StyleBox[
           "\"Base58CheckDecode\"", "SeeAlsoRelated", StripOnInput -> False], 
           "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/Base58CheckDecode"], 
         StyleBox[
          StyleBox[
           "\"Base58CheckQ\"", "SeeAlsoRelated", StripOnInput -> False], 
           "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/Base58CheckQ"], 
         StyleBox[
          StyleBox[
           "\"Base58Encode\"", "SeeAlsoRelated", StripOnInput -> False], 
           "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/Base58Encode"], 
         StyleBox[
          StyleBox["\"WIFEncode\"", "SeeAlsoRelated", StripOnInput -> False], 
           "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/WIFEncode"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"SeeAlso"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "3dd7268b-54d3-48cd-bf7c-1c06f228fd7a"],
     "\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\
\[ThickSpace]",
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "Related Guides",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "e8d0ec65-0022-4d18-bbaa-ca1e2777eb79"]
         }],ExpressionUUID->"0d8fbb29-3901-4983-8fd7-41ce996a03fd"],
         StripOnInput->False],{
        "\"Encodings\"" :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/guide/Encodings"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"MoreAbout"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "f4145f7b-b044-470f-a388-443fe1fb921e"],
     "\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\
\[ThickSpace]",
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "URL",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "a46b2620-d8c9-4837-89ac-59c9371cadd7"]
         }],ExpressionUUID->"ab7137f1-f449-4641-b377-26f8b7c9f0c8"],
         StripOnInput->False],{
        "\"WolframInstitute/Puzzles/ref/Base58CheckEncode\"" :> None, 
         "\"Copy Wolfram Documentation Center URL\"" :> 
         CopyToClipboard["WolframInstitute/Puzzles/ref/Base58CheckEncode"], 
         Delimiter, "\"Copy web URL\"" :> 
         Module[{DocumentationSearch`Private`nb$}, 
           DocumentationSearch`Private`nb$ = 
            NotebookPut[
             Notebook[{
               Cell[BoxData[
                 MakeBoxes[
                  Hyperlink[
                   "http://reference.wolfram.com/language/WolframInstitute/\
Puzzles/ref/Base58CheckEncode.html"], StandardForm]], "Input", 
                 TextClipboardType -> "PlainText"]}, Visible -> False]]; 
           SelectionMove[DocumentationSearch`Private`nb$, All, Notebook]; 
           FrontEndTokenExecute[DocumentationSearch`Private`nb$, "Copy"]; 
           NotebookClose[DocumentationSearch`Private`nb$]; Null], 
         "\"Go to web URL\"" :> 
         FrontEndExecute[{
           NotebookLocate[{
             URL[If[TrueQ[False], 
                 "http://reference.wolfram.com/system-modeler/", 
                 "http://reference.wolfram.com/language/"] <> 
               "WolframInstitute/Puzzles/ref/Base58CheckEncode" <> ".html"], 
              None}]}]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"URLMenu"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "f938ca97-f5a6-4d4c-929f-b52555c0dc70"]
    }], "AnchorBar",
     CacheGraphics->False,ExpressionUUID->
     "b52a4340-885c-44a3-b0a3-fc3b1f0bf65f"]}
  }]], "AnchorBarGrid",
 CellID->1,ExpressionUUID->"255633a5-7f84-4caf-9e0a-11572308a172"],

Cell["WolframInstitute`Puzzles`", "ContextNameCell",ExpressionUUID->"d3cfbe20-abd4-4a2e-9121-01f3a996bef9"],

Cell[CellGroupData[{

Cell[BoxData[GridBox[{
   {Cell[TextData[{
     Cell[
     "Base58CheckEncode", "ObjectName",ExpressionUUID->
      "57d05dd1-31c1-4701-b29e-1b23251f108a"],
     Cell[BoxData[
      TemplateBox[{8},
       "Spacer1"]],ExpressionUUID->"71e10c36-670d-4dd3-a870-0114b634660c"],
     Cell[BoxData[
     ""], "ObjectNameTranslation",ExpressionUUID->
      "7a19992f-7e82-4222-b509-3b7d54004c10"]
    }],ExpressionUUID->"9956f1bf-9f40-4e25-b122-394e1032f07f"], 
    "\[SpanFromLeft]"}
  }]], "ObjectNameGrid",ExpressionUUID->"7e641918-6b3a-4acd-8365-\
02a13c7d56e3"],

Cell[BoxData[GridBox[{
   {"", Cell[TextData[{
     Cell[BoxData[
      RowBox[{
       TemplateBox[{
         Cell[
          TextData["Base58CheckEncode"]], 
         "paclet:WolframInstitute/Puzzles/ref/Base58CheckEncode", 
         "WolframInstitute/Puzzles Package Symbol"},
        "PackageLink",
        BaseStyle->"InlineFormula"], "[", 
       StyleBox["payload", "TI"], "]"}]], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "b059f45c-7563-4f6c-9c54-aab1aa999233"],
     "\[LineSeparator]",
     "gives the Base58Check string for a ",
     StyleBox["payload", "TI"],
     " byte list whose first byte is already the version byte, appending the \
four-byte double-SHA256 checksum."
    }],ExpressionUUID->"52dee49e-07ea-4ffa-a8f8-1954ac2016f5"]},
   {"", Cell[TextData[{
     Cell[BoxData[
      RowBox[{
       TemplateBox[{
         Cell[
          TextData["Base58CheckEncode"]], 
         "paclet:WolframInstitute/Puzzles/ref/Base58CheckEncode", 
         "WolframInstitute/Puzzles Package Symbol"},
        "PackageLink",
        BaseStyle->"InlineFormula"], "[", 
       RowBox[{
        StyleBox["version", "TI"], ",", " ", 
        StyleBox["data", "TI"]}], "]"}]], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "ba2251ac-2228-48b1-b1e5-dd8610806964"],
     "\[LineSeparator]",
     "gives the Base58Check string for a ",
     StyleBox["version", "TI"],
     " byte prepended to a ",
     StyleBox["data", "TI"],
     " byte list."
    }],ExpressionUUID->"d3c011da-7c75-4418-9fe8-3aed3f5be681"]}
  }]], "Usage",ExpressionUUID->"37c25b23-05e8-401c-a206-543b7bd50080"]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[Cell[BoxData[Cell[TextData[{
  Cell[BoxData[
   DynamicBox[ToBoxes[
     If[CurrentValue[
        EvaluationCell[], "CellGroupOpen"] =!= Closed, 
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], 
      Rotate[
       Style[
        Graphics[{
          Thickness[0.18], 
          RGBColor[0.8509803921568627, 0.396078431372549, 0], 
          Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
         PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
        0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]],
    ImageSizeCache->{
     13.600000000000001`, {-0.1685058593749993, 13.768505859375}}]],
   ExpressionUUID->"37bebfe9-95f0-4bd0-b604-8407871a71f8"],
  Cell[BoxData[
   TemplateBox[{1},
    "Spacer1"]],ExpressionUUID->"f6c0d004-934e-40f3-968f-59ee0337e3ca"],
  "Details and Options"
 }], "NotesFrameText",ExpressionUUID->
  "13afc850-c1ba-4def-aac7-8b84bb8b93ab"]],ExpressionUUID->"1c4b4c69-878e-\
4a48-9a08-23743d527c1e"]], "NotesSection",
 ShowGroupOpener->"Thumbnail",
 WholeCellGroupOpener->True,
 CellGroupingRules->{"SectionGrouping", 50},
 CacheGraphics->False,
 CellID->1650761175,ExpressionUUID->"615ea02c-4590-41a2-9d79-634eb6eac27a"],

Cell[TextData[{
 "The checksum is the first four bytes of ",
 Cell[BoxData[
  RowBox[{"SHA256", 
   RowBox[{"(", 
    RowBox[{"SHA256", 
     RowBox[{"(", "payload", ")"}]}], ")"}]}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "15dea0d4-8be1-48b6-a23f-70a3f4a5bd80"],
 ", taken over the whole payload including the version byte, and appended \
before the Base58 conversion."
}], "Notes",ExpressionUUID->"67736c3f-e574-41ae-acd5-47c0e215ddaf"],

Cell["\<\
The version byte carries no meaning here. Bitcoin's assignments are 0x00 for \
a mainnet P2PKH address, 0x05 for mainnet P2SH, 0x6f and 0xc4 for the testnet \
forms, and 0x80 and 0xef for private keys in Wallet Import Format.\
\>", "Notes",ExpressionUUID->"db7b8b38-6f69-4f59-a89c-502410c69afd"],

Cell[TextData[{
 "A version byte of 0x00 becomes a leading zero byte, which Base58 spells as \
a leading ",
 Cell[BoxData["\<\"1\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "253763f9-862d-40b2-861e-170e383aaf29"],
 "; this is why every mainnet P2PKH address starts with ",
 Cell[BoxData["1"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "97913e06-e132-400e-b646-694ca3d0c6a6"],
 "."
}], "Notes",ExpressionUUID->"fa5be559-1882-4be9-b5f0-3986876aac50"],

Cell[TextData[{
 "The two forms agree: ",
 Cell[BoxData[
  RowBox[{
   TemplateBox[{
     Cell[
      TextData["Base58CheckEncode"]], 
     "paclet:WolframInstitute/Puzzles/ref/Base58CheckEncode", 
     "WolframInstitute/Puzzles Package Symbol"},
    "PackageLink",
    BaseStyle->"InlineFormula"], "[", 
   RowBox[{
    StyleBox["version", "TI"], ",", " ", 
    StyleBox["data", "TI"]}], "]"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "fd0406df-0170-4da8-9280-232601abed8a"],
 " is ",
 Cell[BoxData[
  RowBox[{
   TemplateBox[{
     Cell[
      TextData["Base58CheckEncode"]], 
     "paclet:WolframInstitute/Puzzles/ref/Base58CheckEncode", 
     "WolframInstitute/Puzzles Package Symbol"},
    "PackageLink",
    BaseStyle->"InlineFormula"], "[", 
   RowBox[{
    TemplateBox[{
      Cell[
       TextData["Prepend"]], "paclet:ref/Prepend"},
     "RefLink",
     BaseStyle->{"InlineFormula"}], "[", 
    RowBox[{
     StyleBox["data", "TI"], ",", " ", 
     StyleBox["version", "TI"]}], "]"}], "]"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "739fe5db-9a7e-419d-b861-8a5628bf8c2e"],
 "."
}], "Notes",ExpressionUUID->"bb99633f-8855-4e10-b6ef-bceaa6b5c26b"],

Cell["\<\
A payload that is not a byte list, or a version outside 0 through 255, \
matches no definition and the call is returned unevaluated.\
\>", "Notes",ExpressionUUID->"67323935-8d46-4b68-ada4-781f37a25b14"],

Cell[TextData[{
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["Base58CheckDecode"]], 
    "paclet:WolframInstitute/Puzzles/ref/Base58CheckDecode", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "dcb7bcd5-7596-4e63-95f7-71b5a8e5c4c3"],
 " is the inverse and verifies the checksum."
}], "Notes",ExpressionUUID->"c894b687-d882-44bd-9376-d0e0f972d36c"]
}, Closed]],

Cell["", "PageDelimiter",ExpressionUUID->"dfaf4e7d-a49a-479b-bdca-a5f2776281c0"],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[
     MatchQ[
      CurrentValue[
       EvaluationNotebook[], {
       TaggingRules, "Openers", "PrimaryExamplesSection"}, Open], 
      Alternatives[True, Open]], 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]],
   ImageSizeCache->{
    13.600000000000001`, {4.251494140625001, 9.348505859375}}]],
  ExpressionUUID->"49ba5ae5-ae33-4f9c-b490-9f326b03d5b1"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"cf4ad9f1-4f2d-4e14-8946-0e472989f694"],
 "Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(11)", "ExampleCount",ExpressionUUID->
  "27b262d3-fedf-4836-aea0-63616caae736"]
}], "PrimaryExamplesSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1001832632,ExpressionUUID->"052b37a6-04ec-4b1e-953a-04ce79b7c0e7"],

Cell[BoxData[
 RowBox[{"Needs", "[", "\"\<WolframInstitute`Puzzles`\>\"", "]"}]], "Input", \
"ExampleInitialization",
 CellLabel->"In[1]:=",
 CellID->1969679695,ExpressionUUID->"9edd485e-aa8d-422c-becf-1eac4db6c2a2"],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "c1a983b3-f2be-4370-a30f-ec1d437e02b4"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"0ad67232-9b05-4533-bc21-2ed7717bc030"],
 "Basic Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(3)", "ExampleCount",ExpressionUUID->
  "6e4af7e9-28e8-46bf-b58d-347f108f4cd4"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1529253544,ExpressionUUID->"d7ffa4b3-813a-4427-b177-627903959699"],

Cell[TextData[{
 "The Bitcoin genesis block coinbase output pays to HASH160 ",
 Cell[BoxData[
  RowBox[{"62", "e907b15cbf27d5425399ebf6f0fb50ebb88f18"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "a23252c6-4f28-49a6-86ca-33f57b06f028"],
 " under version byte 0x00:"
}], "ExampleText",
 CellTags->
  "TextAnnotation",ExpressionUUID->"1000a34f-8374-4997-a09a-6f8a4977c905"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Base58CheckEncode", "[", 
  RowBox[{"0", ",", " ", 
   RowBox[{
   "HexStringToByteList", 
    "[", "\"\<62e907b15cbf27d5425399ebf6f0fb50ebb88f18\>\"", "]"}]}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"8bbe6b16-f710-4463-84b4-f9b0e4bac205"],

Cell[BoxData["\<\"1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa\"\>"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"49fa7d5f-05bf-4ca3-9c43-0e3be98503e9"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "b949d32f-21e4-44c8-a4d3-b33e7afad3ca"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"c2ff939e-386f-45ea-\
9355-ff6c89d237fe"],

Cell["\<\
The same address from a payload that already carries its version byte:\
\>", "ExampleText",ExpressionUUID->"9d86e3c6-cf32-4839-9a2c-513e5ea76cde"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Base58CheckEncode", "[", 
  RowBox[{
  "HexStringToByteList", 
   "[", "\"\<0062e907b15cbf27d5425399ebf6f0fb50ebb88f18\>\"", "]"}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"faabba0d-044f-46d0-a08c-f3d05de47b98"],

Cell[BoxData["\<\"1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa\"\>"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"3b088612-711b-4387-9d13-6fcb4141069a"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "040629a1-ebb9-4498-86b3-35a440dd3d96"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"1ef88a53-158a-4b03-\
9c3a-5cabfb293293"],

Cell[TextData[{
 "Version byte 0x05 gives a mainnet P2SH address, which starts with ",
 Cell[BoxData["3"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "147e8e84-d867-49ce-81ba-b15f588f5431"],
 ":"
}], "ExampleText",ExpressionUUID->"91b95a07-d910-4e81-9e00-31e5db62834a"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Base58CheckEncode", "[", 
  RowBox[{"16^^05", ",", " ", 
   RowBox[{
   "HexStringToByteList", 
    "[", "\"\<373b819a068f32b7a6b38b6b38729647cfde01c2\>\"", "]"}]}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"ffdfb482-364d-4e49-997c-d98f5ab2bd27"],

Cell[BoxData["\<\"36j4NfKv6Akva9amjWrLG6MuSQym1GuEmm\"\>"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"6ce81170-0cf8-4c8f-8781-8a9ce9f8c77b"]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "afecad89-b679-4c29-a61c-4dc817c5694b"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"d1dcb847-8ce1-4e67-b441-471d57eedcd5"],
 "Scope",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(3)", "ExampleCount",ExpressionUUID->
  "c0a61bd4-1931-402b-97b6-bcb29e1babaa"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1293636265,ExpressionUUID->"1194f05e-3a2f-4905-94c8-999f7c684877"],

Cell[TextData[{
 "Version byte 0x6f gives the testnet P2PKH form, which starts with ",
 Cell[BoxData["m"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "92424311-de21-4e65-849a-88b73e57b5e4"],
 " or ",
 Cell[BoxData["n"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "938b2609-e4f3-4322-a448-7e02baa46b1c"],
 ":"
}], "ExampleText",ExpressionUUID->"d1c74eac-9df0-4edc-9f07-5f7aa53a719f"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Base58CheckEncode", "[", 
  RowBox[{"16^^6f", ",", " ", 
   RowBox[{
   "HexStringToByteList", 
    "[", "\"\<ce28b26c57472737f5c3561a1761185bd8589a43\>\"", "]"}]}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"23f37e78-3015-44b2-90cf-cb47bbf54e4e"],

Cell[BoxData["\<\"mzK2FFDEhxqHcmrJw1ysqFkVyhUULo45hZ\"\>"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"59e71e47-e05a-4d88-ab77-94d60b328203"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "f81a9fc0-5aca-4906-83fe-595397ab11c4"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"b9fb589f-0e88-4ee8-\
b134-56b534bc03a3"],

Cell[TextData[{
 "Version byte 0xc4 gives the testnet P2SH form, which starts with ",
 Cell[BoxData["2"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "75ef3e3d-b4c2-4aba-88fd-e59beacde056"],
 ":"
}], "ExampleText",ExpressionUUID->"52600e00-e261-4451-b9bc-40f9f918c8e5"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Base58CheckEncode", "[", 
  RowBox[{"16^^c4", ",", " ", 
   RowBox[{
   "HexStringToByteList", 
    "[", "\"\<ce0bba75891ff9ec60148d4bd4a09ee2dc5c9331\>\"", "]"}]}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"292e008d-bd48-42ec-b8da-42473ecac3ec"],

Cell[BoxData["\<\"2NC2hEhe28ULKAJkW5MjZ3jtTMJdvXmByvK\"\>"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"781de09a-626a-48c6-a487-a172fbb932b3"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "af4d5ee1-9951-4091-b775-ca2541760769"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"168e6005-1e0a-455e-\
8129-f715fa2b8954"],

Cell["\<\
Version byte 0x80 with a 32-byte key and no compression marker is an \
uncompressed Wallet Import Format key:\
\>", "ExampleText",ExpressionUUID->"a39d2016-2219-4343-be39-6269192a6df8"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Base58CheckEncode", "[", 
  RowBox[{"16^^80", ",", " ", 
   RowBox[{
   "HexStringToByteList", 
    "[", "\"\<\
8f8943bf956de595665c38ffff23827e17c10cdc1c27a028caae6c9810626198\>\"", 
    "]"}]}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"5ac92d8f-f8be-4ee4-b24e-8cfbb76acca7"],

Cell[BoxData["\<\"5JuW2AMDYu4xVwRG9DZW18VbzQrGcd5RCgb99sS6ehJsNQXu5b9\"\>"], \
"Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"e3586949-3918-4075-adc3-90612aa48455"]
}, Open  ]]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "b6f9bb09-46f8-41ea-ac84-75986752a495"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"8299b496-8334-47d1-a283-3b5687dbeef2"],
 "Properties & Relations",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(3)", "ExampleCount",ExpressionUUID->
  "2cb15848-09ad-4f3a-bdbc-0a5132f245ae"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->2123667759,ExpressionUUID->"20e99ebb-f162-43e3-96ee-ca968f5dbdb8"],

Cell["\<\
The appended checksum is the first four bytes of the double SHA-256 of the \
payload:\
\>", "ExampleText",ExpressionUUID->"fd60d97d-97f7-4b54-9796-c352ef4d8cbf"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"StringTake", "[", 
  RowBox[{
   RowBox[{"ByteListToHexString", "[", 
    RowBox[{"Normal", "[", 
     RowBox[{"Hash", "[", 
      RowBox[{
       RowBox[{"Hash", "[", 
        RowBox[{
         RowBox[{"ByteArray", "[", 
          RowBox[{
          "HexStringToByteList", 
           "[", "\"\<0062e907b15cbf27d5425399ebf6f0fb50ebb88f18\>\"", "]"}], 
          "]"}], ",", " ", "\"\<SHA256\>\"", ",", " ", "\"\<ByteArray\>\""}], 
        "]"}], ",", " ", "\"\<SHA256\>\"", ",", " ", "\"\<ByteArray\>\""}], 
      "]"}], "]"}], "]"}], ",", " ", "8"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"d918a19e-7290-4809-88aa-6a2e6d2989d4"],

Cell[BoxData["\<\"c29b7d93\"\>"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"85fdbf55-e2dd-490b-86df-71ac41a8109d"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "891e3cd5-bf06-4563-b17a-d955d77d0e1f"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"cc8c4b3f-ac18-4d91-\
b9e9-847fbb35248d"],

Cell[TextData[{
 "Those four bytes are exactly what the raw ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["Base58Decode"]], 
    "paclet:WolframInstitute/Puzzles/ref/Base58Decode", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "2f569527-235c-4e31-ba50-adaba4115a2e"],
 " of the address carries past the payload:"
}], "ExampleText",ExpressionUUID->"6b8d8c45-2fb2-410d-9edf-64acf564a74c"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"ByteListToHexString", "[", 
  RowBox[{"Take", "[", 
   RowBox[{
    RowBox[{
    "Base58Decode", "[", "\"\<1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa\>\"", "]"}], 
    ",", " ", 
    RowBox[{"-", "4"}]}], "]"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"ece18d8a-db2d-495e-8ebd-07386cd4fc04"],

Cell[BoxData["\<\"c29b7d93\"\>"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"63cd3354-7f46-4b62-8afc-fa4a1d8c0bb1"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "7092c93e-e52d-4176-9848-0f027a639560"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"01929e21-1221-4e84-\
b157-e0593f37d196"],

Cell[TextData[{
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["WIFEncode"]], "paclet:WolframInstitute/Puzzles/ref/WIFEncode", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "fc67106c-059e-4ec9-a7d9-7289069c0af0"],
 " is this function with the private-key version byte and compression marker \
filled in:"
}], "ExampleText",ExpressionUUID->"03981dee-a6ef-434d-ad8f-1336540e3b66"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"WIFEncode", "[", 
  RowBox[{"\"\<\
8f8943bf956de595665c38ffff23827e17c10cdc1c27a028caae6c9810626198\>\"", ",", 
   " ", 
   RowBox[{"\"\<Compressed\>\"", " ", "->", " ", "False"}]}], "]"}]], "Input",\

 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"8ab2ccaa-7b1c-405c-bd22-2411a7c9a5ae"],

Cell[BoxData["\<\"5JuW2AMDYu4xVwRG9DZW18VbzQrGcd5RCgb99sS6ehJsNQXu5b9\"\>"], \
"Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"0d26dba0-46eb-4d1a-bc24-531923a90313"]
}, Open  ]]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "cf530ea1-68eb-445a-8542-0d99479ead4d"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"0834c8e6-aea9-4ddc-89ca-4b9e91a50412"],
 "Possible Issues",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(2)", "ExampleCount",ExpressionUUID->
  "fa8e03ae-f5eb-49e2-bb0f-039a0823510e"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1305812373,ExpressionUUID->"34355fc1-88f7-4678-af70-08e538625751"],

Cell["\<\
The version byte is not interpreted, so an unassigned value encodes happily:\
\>", "ExampleText",ExpressionUUID->"b4bab514-73ee-4173-b7c2-af1e1512c984"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Base58CheckEncode", "[", 
  RowBox[{"16^^42", ",", " ", 
   RowBox[{"{", 
    RowBox[{"1", ",", " ", "2", ",", " ", "3"}], "}"}]}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"bdb941fa-208c-4d11-ab84-862a687b78af"],

Cell[BoxData["\<\"C3KcQJ9hGg6\"\>"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"b2a4253c-be6e-4716-9dac-dcc4c3183d90"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "c1b8da8c-d52b-4a7b-b33e-e015f0f47c12"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"8982658a-a9c3-43fc-\
9175-2098f33e7ccb"],

Cell["\<\
A version outside the byte range matches no definition, so the call is \
returned unevaluated:\
\>", "ExampleText",ExpressionUUID->"2d83a272-9990-44ac-8584-c87d25182012"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Base58CheckEncode", "[", 
  RowBox[{"256", ",", " ", 
   RowBox[{"{", 
    RowBox[{"1", ",", " ", "2", ",", " ", "3"}], "}"}]}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"c98ba507-a895-45f4-8d9e-0bbc4715f8f0"],

Cell[BoxData[
 RowBox[{"Base58CheckEncode", "[", 
  RowBox[{"256", ",", 
   RowBox[{"{", 
    RowBox[{"1", ",", "2", ",", "3"}], "}"}]}], "]"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"a22e0bd7-4981-4d2d-a234-56cf8260f054"]
}, Open  ]]
}, Open  ]]
}, Closed]]
}, Open  ]],

Cell[BoxData[GridBox[{
   {
    DynamicBox[FEPrivate`ImportImage[
      FrontEnd`FileName[{"Documentation", "FooterIcons"}, 
       "RelatedFunction.png"]]], GridBox[{
      {
       StyleBox[
        RowBox[{"See", " ", "Also"}], "SeeAlsoSection"]},
      {Cell[TextData[{
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Base58CheckDecode"]], 
           "paclet:WolframInstitute/Puzzles/ref/Base58CheckDecode", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "132d1bef-ec7d-4093-a852-4242e5170bfb"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Base58CheckQ"]], 
           "paclet:WolframInstitute/Puzzles/ref/Base58CheckQ", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "5d152a24-d74c-4d86-9b91-39997b7644d9"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Base58Encode"]], 
           "paclet:WolframInstitute/Puzzles/ref/Base58Encode", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "a04f6e3e-3c11-451d-91b4-72e3d59a2352"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["WIFEncode"]], 
           "paclet:WolframInstitute/Puzzles/ref/WIFEncode", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "3746bbc8-c938-46e0-bb6c-5ad2a0cefc3f"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Hash"]], "paclet:ref/Hash"},
          "RefLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "364f13b1-e72d-4458-be0f-11cac27b75ef"]
       }], "SeeAlso",ExpressionUUID->"f112cc88-db81-4be6-875a-f7b10193606f"]}
     }]}
  }]], "SeeAlsoSection",ExpressionUUID->"121e014d-09df-43f3-9c8d-\
98b9ee33a84e"],

Cell[BoxData[GridBox[{
   {
    DynamicBox[FEPrivate`ImportImage[
      FrontEnd`FileName[{"Documentation", "FooterIcons"}, 
       "RelatedGuide.png"]]], GridBox[{
      {
       StyleBox[
        RowBox[{"Related", " ", "Guides"}], "MoreAboutSection"]},
      {
       RowBox[{"\[FilledVerySmallSquare]", Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Encodings"]], 
           "paclet:WolframInstitute/Puzzles/guide/Encodings"},
          "RefLinkPlain",
          BaseStyle->{"MoreAbout"}]], "MoreAbout",ExpressionUUID->
         "6f2026ca-4efc-4b43-aeab-11395d5e085b"]}]}
     }]}
  }]], "MoreAboutSection",ExpressionUUID->"b53b3621-5166-4cf9-b605-\
58db463e1930"],

Cell[" ", "FooterCell",ExpressionUUID->"612f0d78-5073-4607-8c1e-a0d9ea8469b5"]
},
Saveable->False,
ScreenStyleEnvironment->"Working",
WindowSize->{900, 830},
WindowMargins->{{0, Automatic}, {Automatic, 0}},
WindowTitle->"Base58CheckEncode",
TaggingRules->{
 "ModificationHighlight" -> False, "ColorType" -> "", "LinkTrails" -> "", 
  "ExampleCounter" -> 1, 
  "Openers" -> {
   "PrimaryExamplesSection" -> Open, "ExampleSection" -> {"0" -> Open}, 
    "AllOptsTable" -> Closed}, "NewStyles" -> True, 
  "CitationPopupData" -> $Failed, "ShowCitation" -> False, "HasOptions" -> 
  True, "RootCaptions" -> "", "HeaderCoreAreaLink" -> {}, 
  "Metadata" -> {
   "built" -> "{2026, 8, 27, 0, 11, 17.354907}", 
    "history" -> {"XX", "", "", ""}, "context" -> "WolframInstitute`Puzzles`",
     "keywords" -> {}, "specialkeywords" -> {}, 
    "tutorialcollectionlinks" -> {}, "index" -> True, "label" -> 
    "Wolfram Institute/ Puzzles Symbol", "language" -> "en", "paclet" -> 
    "WolframInstitute/Puzzles", "status" -> "None", "summary" -> 
    "PackageLink[Base58CheckEncode, paclet : \
WolframInstitute/Puzzles/ref/Base58CheckEncode, WolframInstitute/Puzzles \
Package Symbol][payload] gives the Base58Check string for a payload byte list \
whose first byte is already the version byte, appending the four-byte \
double-SHA256 checksum. PackageLink[Base58CheckEncode, paclet : \
WolframInstitute/Puzzles/ref/Base58CheckEncode, WolframInstitute/Puzzles \
Package Symbol][version, data] gives the Base58Check string for a version \
byte prepended to a data byte list.", "synonyms" -> {}, "tabletags" -> {}, 
    "title" -> "Base58CheckEncode", "titlemodifier" -> "", "metadescription" -> 
    "", "windowtitle" -> "Base58CheckEncode", "type" -> "Symbol", "uri" -> 
    "WolframInstitute/Puzzles/ref/Base58CheckEncode", "WorkflowDockedCell" -> 
    ""}, "SearchTextTranslated" -> ""},
CellContext->CellGroup,
FrontEndVersion->"15.0 for Mac OS X ARM (64-bit) (May 19, 2026)",
StyleDefinitions->FrontEnd`FileName[{"Wolfram"}, "Reference.nb"],
ExpressionUUID->"a4febcf9-db23-4849-89fa-6a2ac19cfc9d"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{
 "TextAnnotation"->{
  Cell[17106, 462, 425, 10, 70, "ExampleText",ExpressionUUID->"1000a34f-8374-4997-a09a-6f8a4977c905",
   CellTags->"TextAnnotation"]}
 }
*)
(*CellTagsIndex
CellTagsIndex->{
 {"TextAnnotation", 38386, 1075}
 }
*)
(*NotebookFileOutline
Notebook[{
Cell[585, 21, 6272, 152, 70, "AnchorBarGrid",ExpressionUUID->"255633a5-7f84-4caf-9e0a-11572308a172",
 CellID->1],
Cell[6860, 175, 107, 0, 70, "ContextNameCell",ExpressionUUID->"d3cfbe20-abd4-4a2e-9121-01f3a996bef9"],
Cell[CellGroupData[{
Cell[6992, 179, 560, 14, 70, "ObjectNameGrid",ExpressionUUID->"7e641918-6b3a-4acd-8365-02a13c7d56e3"],
Cell[7555, 195, 1704, 44, 70, "Usage",ExpressionUUID->"37c25b23-05e8-401c-a206-543b7bd50080"]
}, Open  ]],
Cell[CellGroupData[{
Cell[9296, 244, 1444, 34, 70, "NotesSection",ExpressionUUID->"615ea02c-4590-41a2-9d79-634eb6eac27a",
 CellGroupingRules->{"SectionGrouping", 50},
 CellID->1650761175],
Cell[10743, 280, 495, 12, 70, "Notes",ExpressionUUID->"67736c3f-e574-41ae-acd5-47c0e215ddaf"],
Cell[11241, 294, 305, 4, 70, "Notes",ExpressionUUID->"db7b8b38-6f69-4f59-a89c-502410c69afd"],
Cell[11549, 300, 559, 13, 70, "Notes",ExpressionUUID->"fa5be559-1882-4be9-b5f0-3986876aac50"],
Cell[12111, 315, 1267, 40, 70, "Notes",ExpressionUUID->"bb99633f-8855-4e10-b6ef-bceaa6b5c26b"],
Cell[13381, 357, 212, 3, 70, "Notes",ExpressionUUID->"67323935-8d46-4b68-ada4-781f37a25b14"],
Cell[13596, 362, 505, 13, 70, "Notes",ExpressionUUID->"c894b687-d882-44bd-9376-d0e0f972d36c"]
}, Closed]],
Cell[14116, 378, 80, 0, 70, "PageDelimiter",ExpressionUUID->"dfaf4e7d-a49a-479b-bdca-a5f2776281c0"],
Cell[CellGroupData[{
Cell[14221, 382, 1402, 37, 70, "PrimaryExamplesSection",ExpressionUUID->"052b37a6-04ec-4b1e-953a-04ce79b7c0e7",
 CellID->1001832632],
Cell[15626, 421, 216, 4, 70, "Input",ExpressionUUID->"9edd485e-aa8d-422c-becf-1eac4db6c2a2",
 CellID->1969679695],
Cell[CellGroupData[{
Cell[15867, 429, 1236, 31, 70, "ExampleSection",ExpressionUUID->"d7ffa4b3-813a-4427-b177-627903959699",
 CellID->1529253544],
Cell[17106, 462, 425, 10, 70, "ExampleText",ExpressionUUID->"1000a34f-8374-4997-a09a-6f8a4977c905",
 CellTags->"TextAnnotation"],
Cell[CellGroupData[{
Cell[17556, 476, 331, 8, 70, "Input",ExpressionUUID->"8bbe6b16-f710-4463-84b4-f9b0e4bac205"],
Cell[17890, 486, 148, 1, 70, "Output",ExpressionUUID->"49fa7d5f-05bf-4ca3-9c43-0e3be98503e9"]
}, Open  ]],
Cell[CellGroupData[{
Cell[18075, 492, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"c2ff939e-386f-45ea-9355-ff6c89d237fe"],
Cell[18302, 499, 156, 2, 70, "ExampleText",ExpressionUUID->"9d86e3c6-cf32-4839-9a2c-513e5ea76cde"],
Cell[CellGroupData[{
Cell[18483, 505, 302, 7, 70, "Input",ExpressionUUID->"faabba0d-044f-46d0-a08c-f3d05de47b98"],
Cell[18788, 514, 148, 1, 70, "Output",ExpressionUUID->"3b088612-711b-4387-9d13-6fcb4141069a"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[18985, 521, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"1ef88a53-158a-4b03-9c3a-5cabfb293293"],
Cell[19212, 528, 321, 7, 70, "ExampleText",ExpressionUUID->"91b95a07-d910-4e81-9e00-31e5db62834a"],
Cell[CellGroupData[{
Cell[19558, 539, 336, 8, 70, "Input",ExpressionUUID->"ffdfb482-364d-4e49-997c-d98f5ab2bd27"],
Cell[19897, 549, 148, 1, 70, "Output",ExpressionUUID->"6ce81170-0cf8-4c8f-8781-8a9ce9f8c77b"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[20106, 557, 1227, 31, 70, "ExampleSection",ExpressionUUID->"1194f05e-3a2f-4905-94c8-999f7c684877",
 CellID->1293636265],
Cell[21336, 590, 486, 12, 70, "ExampleText",ExpressionUUID->"d1c74eac-9df0-4edc-9f07-5f7aa53a719f"],
Cell[CellGroupData[{
Cell[21847, 606, 336, 8, 70, "Input",ExpressionUUID->"23f37e78-3015-44b2-90cf-cb47bbf54e4e"],
Cell[22186, 616, 148, 1, 70, "Output",ExpressionUUID->"59e71e47-e05a-4d88-ab77-94d60b328203"]
}, Open  ]],
Cell[CellGroupData[{
Cell[22371, 622, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"b9fb589f-0e88-4ee8-b134-56b534bc03a3"],
Cell[22598, 629, 320, 7, 70, "ExampleText",ExpressionUUID->"52600e00-e261-4451-b9bc-40f9f918c8e5"],
Cell[CellGroupData[{
Cell[22943, 640, 336, 8, 70, "Input",ExpressionUUID->"292e008d-bd48-42ec-b8da-42473ecac3ec"],
Cell[23282, 650, 149, 1, 70, "Output",ExpressionUUID->"781de09a-626a-48c6-a487-a172fbb932b3"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[23480, 657, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"168e6005-1e0a-455e-8129-f715fa2b8954"],
Cell[23707, 664, 195, 3, 70, "ExampleText",ExpressionUUID->"a39d2016-2219-4343-be39-6269192a6df8"],
Cell[CellGroupData[{
Cell[23927, 671, 364, 9, 70, "Input",ExpressionUUID->"5ac92d8f-f8be-4ee4-b24e-8cfbb76acca7"],
Cell[24294, 682, 167, 2, 70, "Output",ExpressionUUID->"e3586949-3918-4075-adc3-90612aa48455"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[24522, 691, 1244, 31, 70, "ExampleSection",ExpressionUUID->"20e99ebb-f162-43e3-96ee-ca968f5dbdb8",
 CellID->2123667759],
Cell[25769, 724, 171, 3, 70, "ExampleText",ExpressionUUID->"fd60d97d-97f7-4b54-9796-c352ef4d8cbf"],
Cell[CellGroupData[{
Cell[25965, 731, 720, 17, 70, "Input",ExpressionUUID->"d918a19e-7290-4809-88aa-6a2e6d2989d4"],
Cell[26688, 750, 122, 1, 70, "Output",ExpressionUUID->"85fdbf55-e2dd-490b-86df-71ac41a8109d"]
}, Open  ]],
Cell[CellGroupData[{
Cell[26847, 756, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"cc8c4b3f-ac18-4d91-b9e9-847fbb35248d"],
Cell[27074, 763, 547, 14, 70, "ExampleText",ExpressionUUID->"6b8d8c45-2fb2-410d-9edf-64acf564a74c"],
Cell[CellGroupData[{
Cell[27646, 781, 371, 9, 70, "Input",ExpressionUUID->"ece18d8a-db2d-495e-8ebd-07386cd4fc04"],
Cell[28020, 792, 122, 1, 70, "Output",ExpressionUUID->"63cd3354-7f46-4b62-8afc-fa4a1d8c0bb1"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[28191, 799, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"01929e21-1221-4e84-b157-e0593f37d196"],
Cell[28418, 806, 535, 13, 70, "ExampleText",ExpressionUUID->"03981dee-a6ef-434d-ad8f-1336540e3b66"],
Cell[CellGroupData[{
Cell[28978, 823, 352, 8, 70, "Input",ExpressionUUID->"8ab2ccaa-7b1c-405c-bd22-2411a7c9a5ae"],
Cell[29333, 833, 167, 2, 70, "Output",ExpressionUUID->"0d26dba0-46eb-4d1a-bc24-531923a90313"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[29561, 842, 1237, 31, 70, "ExampleSection",ExpressionUUID->"34355fc1-88f7-4678-af70-08e538625751",
 CellID->1305812373],
Cell[30801, 875, 162, 2, 70, "ExampleText",ExpressionUUID->"b4bab514-73ee-4173-b7c2-af1e1512c984"],
Cell[CellGroupData[{
Cell[30988, 881, 299, 6, 70, "Input",ExpressionUUID->"bdb941fa-208c-4d11-ab84-862a687b78af"],
Cell[31290, 889, 125, 1, 70, "Output",ExpressionUUID->"b2a4253c-be6e-4716-9dac-dcc4c3183d90"]
}, Open  ]],
Cell[CellGroupData[{
Cell[31452, 895, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"8982658a-a9c3-43fc-9175-2098f33e7ccb"],
Cell[31679, 902, 180, 3, 70, "ExampleText",ExpressionUUID->"2d83a272-9990-44ac-8584-c87d25182012"],
Cell[CellGroupData[{
Cell[31884, 909, 296, 6, 70, "Input",ExpressionUUID->"c98ba507-a895-45f4-8d9e-0bbc4715f8f0"],
Cell[32183, 917, 234, 5, 70, "Output",ExpressionUUID->"a22e0bd7-4981-4d2d-a234-56cf8260f054"]
}, Open  ]]
}, Open  ]]
}, Closed]]
}, Open  ]],
Cell[32468, 928, 3002, 80, 70, "SeeAlsoSection",ExpressionUUID->"121e014d-09df-43f3-9c8d-98b9ee33a84e"],
Cell[35473, 1010, 698, 19, 70, "MoreAboutSection",ExpressionUUID->"b53b3621-5166-4cf9-b605-58db463e1930"],
Cell[36174, 1031, 78, 0, 70, "FooterCell",ExpressionUUID->"612f0d78-5073-4607-8c1e-a0d9ea8469b5"]
}
]
*)

(* End of internal cache information *)

