Preheat oven to 350°F (175°C) and grease and flour two 9-inch round cake pans.
In a large bowl, sift together flour, sugar, cocoa powder, baking powder, baking soda, and salt.
In another bowl, whisk buttermilk, vegetable oil, eggs, and vanilla extract until smooth.
Gradually mix wet ingredients into dry until just combined.
Slowly stir in hot water or coffee; batter will be thin.
Divide batter evenly between pans and bake 30–35 minutes or until a toothpick comes out clean.
Cool cakes in pans for 10 minutes, then transfer to wire racks to cool completely.
For buttercream, beat butter until creamy. Gradually add powdered sugar, then vanilla.
Add cream or milk 1 tablespoon at a time until desired consistency is reached.
Once cakes are fully cooled, frost the first layer, stack the second, and cover with remaining buttercream.