Preheat your oven to 350°F (175°C). Grease and flour two 9-inch round cake pans.
In a large mixing bowl, combine the flour, sugar, cocoa powder, baking powder, baking soda, and salt. Mix well.
Add the eggs, milk, vegetable oil, and vanilla extract to the dry ingredients. Beat on medium speed for 2 minutes until well combined.
Stir in the boiling water until the batter is smooth (the batter will be thin).
Pour the batter evenly into the prepared cake pans.
Bake for 30-35 minutes or until a toothpick inserted in the center comes out clean.
Allow the cakes to cool in the pans for 10 minutes, then remove them from the pans and transfer to wire racks to cool completely.
For the frosting, beat the softened butter in a large bowl until creamy. Gradually add the powdered sugar, cocoa powder, and salt, mixing until well combined.
Add the vanilla extract and heavy cream, and beat on high speed for 2-3 minutes until the frosting is light and fluffy.
Once the cakes are completely cool, spread frosting between the layers and on top and sides of the cake.