Preheat your oven to 350°F (175°C). Grease and line two 9-inch round cake pans with parchment paper. In a large mixing bowl, sift together the flour, sugar, cocoa powder, baking powder, baking soda, and salt. Mix to combine evenly.
To the dry ingredients, add the eggs, buttermilk (or regular milk), vegetable oil, and vanilla extract. Mix well using an electric mixer or whisk until smooth and well combined.
Slowly add the boiling water to the batter and mix gently. The batter will be thin, but this is normal and will result in a moist cake.
Pour the batter evenly into the prepared cake pans. Bake in the preheated oven for 30-35 minutes, or until a toothpick inserted into the center comes out clean.
Remove the cakes from the oven and let them cool in the pans for about 10 minutes. Then, transfer them to a wire rack to cool completely.
While the cakes cool, prepare the white icing. In a mixing bowl, beat the softened butter until creamy. Gradually add the powdered sugar, salt, and vanilla extract, continuing to mix until smooth. Slowly add the heavy cream and beat until the icing is fluffy and spreadable.
Once the cakes have cooled completely, place one cake layer on a serving platter. Spread a generous amount of white icing on top. Place the second cake layer on top and ice the entire cake with the remaining white icing. Serve and enjoy!