Preheat your oven to 350°F (175°C). Line a 12-cup muffin tin with cupcake liners.
In a large bowl, whisk together the flour, cocoa powder, baking soda, baking powder, salt, and sugar.
In a separate medium bowl, whisk together the eggs, buttermilk, oil, and vanilla extract.
Add the wet ingredients to the dry ingredients and mix until just combined. Be careful not to overmix.
Carefully stir in the hot water or coffee until the batter is smooth and thin.
Pour the batter evenly into the prepared cupcake liners, filling each about two-thirds full.
Bake for 20-24 minutes, or until a wooden skewer inserted into the center of a cupcake comes out clean.
Let the cupcakes cool in the muffin tin for 5-10 minutes before transferring them to a wire rack to cool completely.
Make the Frosting
In a large bowl, beat the softened butter until creamy.
Sift in the cocoa powder and beat until well combined.
Gradually add the powdered sugar, alternating with the milk/cream, beating until smooth and fluffy. You may not need all of the milk/cream.
Stir in the vanilla extract.
Assemble
Once the cupcakes are completely cool, frost them generously with the chocolate buttercream.
Notes
For an even richer chocolate flavor, use hot brewed coffee instead of hot water. Ensure all ingredients for the frosting are at room temperature for the best results.