Preheat your oven to 350°F (175°C). Grease and flour the two 9-inch cake pans.
In a large mixing bowl, sift together the flour, sugar, cocoa powder, baking soda, baking powder, and salt.
Add the eggs, vegetable oil, buttermilk, vanilla extract, and purple food coloring to the dry ingredients. Mix on medium speed using an electric mixer until well combined, about 2-3 minutes.
Carefully stir in the boiling water until the batter is smooth (the batter will be thin).
Divide the batter evenly between the prepared cake pans. Bake for 30 minutes, or until a toothpick inserted in the center comes out clean.
Allow the cakes to cool in the pans for 10 minutes before transferring them to a cooling rack to cool completely.
While the cakes are cooling, prepare the frosting. In a mixing bowl, beat the softened butter until creamy.
Gradually add in the powdered sugar, mixing at low speed until combined. Then add the vanilla extract and sufficient heavy cream or milk to achieve a spreadable consistency. Mix until fluffy.
If desired, add purple food coloring to the frosting until the desired shade is reached.
Once the cakes are completely cool, spread a layer of frosting on top of one layer, then place the second layer on top. Frost the top and sides of the cake as desired.