Preheat the Oven: Preheat your oven to 350°F (175°C). Grease and flour two 9-inch round cake pans or line them with parchment paper circles.
Mix Dry Ingredients: In a large mixing bowl, whisk together the flour, granulated sugar, cocoa powder, baking soda, baking powder, and salt.
Add Wet Ingredients: Add the eggs, buttermilk, vegetable oil, and vanilla extract to the dry ingredients and mix until well combined.
Incorporate Boiling Water: Carefully stir in the boiling water (the batter will be thin, but this is normal).
Bake: Divide the batter evenly between the prepared cake pans. Bake for 30-35 minutes, or until a toothpick inserted into the center comes out clean. Let the cakes cool in the pans for 10 minutes, then remove them to wire racks to cool completely.
Making the Frosting:
Cream Butter: In a large bowl, use an electric mixer to beat the softened butter until creamy and smooth.
Add Cocoa Powder: Gradually add the cocoa powder and powdered sugar, alternating with heavy cream or milk, and beat until you reach a spreadable consistency. Add the vanilla extract and a pinch of salt, adjusting the consistency with more cream or milk if needed.
Frost the Cake: Once the cakes have cooled, place one layer on your serving plate and spread frosting over the top. Add the second layer and apply a crumb coat (a thin layer of frosting all over the cake). Chill for about 30 minutes, then finish frosting the cake with the remaining buttercream.
Serve: Decorate as desired and serve the chocolate cake at room temperature.