In a large bowl, combine flour, sugar, cocoa powder, baking soda, baking powder and salt. Mix in the oil, buttermilk, and eggs. Once the eggs are fully incorporated, pour in the hot water and mix well. The batter will be runny - don't worry!
To make the frosting:
Cream butter, cocoa powder and vanilla in the bowl of a stand mixer for 1 to 2 minutes. Add the powdered sugar, 1 cup at a time, adding in the milk a bit at a time if the frosting gets too thick. Once you've added in 4 cups of powdered sugar, add the remaining milk and beat until the frosting is smooth and creamy. For a stiffer frosting, add in more powdered sugar, ¼ cup at a time, until the desired consistency is reached. If the frosting becomes too stiff, add in more milk, 1 tablespoon at a time.
if you don't have buttermilk, just take 1 tablespoon vinegar (or lemon juice) and enough milk to make 1 cup. Stir and let sit about 5 minutes.
For the cake: