Preheat your oven to 350 °F (175 °C). Line 2 round 8" cake pans with parchment paper on the bottom and then grease the sides of the pans.
In a large bowl, stir together the sugar, flour, cocoa, baking powder, baking soda and salt. Add eggs, milk, oil and vanilla.
Mix until combined and then stir in the boiling water. The batter will be almost as thin as water.
Divide the batter between the two pans.
Bake for 25 minutes or until a toothpick comes out with maybe some moist crumbs, but no uncooked liquid.
Let cool for 5 minutes in the pans, and then turn out onto a rack to cool. Let cool completely before frosting.
Unfrosted cake layers can be wrapped in plastic wrap and stored at room temperature for 2 days or refrigerated for 3. They can also be frozen for up to 3 months.
In a large saucepan over medium-low heat, mix together the chocolate, milk, coconut oil, vanilla extract and salt. Stir until melted and completely smooth.
Let the pan cool for about 15 minutes (or until cool enough to place in the refrigerator) and then place the pan in the refrigerator for about 1-2 hours, stirring after every 15-20 minutes, or until firm enough to spread on the cake. I need about 1 hour. If you forget about it and leave it in the refrigerator too long, it'll be too firm to spread, so be sure to keep checking on it. If it gets too hard, very lightly reheat it on low heat, stirring constantly, until it's soft enough.
Once the cake has cooled, spread about ¾ cup of frosting on the first layer, about 1 cup on top of the cake, and the rest on the sides.
Cover and refrigerate leftovers for up to 4 days. You can also freeze the frosted cake or unfrosted layers for up to 3 months.
