Preheat oven to 350°F (175°C). Grease and flour two 9-inch round cake pans.
In a medium bowl, whisk together the egg yolks and cocoa powder until smooth. Gradually whisk in the hot water until combined.
In a separate bowl, whisk together the flour, sugar, baking powder, baking soda, and salt.
Gradually add the dry ingredients to the wet ingredients, whisking until just combined.
Divide the batter evenly between the prepared cake pans.
Bake for 25-30 minutes, or until a toothpick inserted into the center comes out clean.
Let the cakes cool in the pans for 10 minutes before inverting them onto wire racks to cool completely.
To make the frosting, beat the butter in a large bowl until light and fluffy.
Gradually add the powdered sugar, cocoa powder, heavy cream, and vanilla extract, beating until smooth and creamy.
Once the cakes are completely cooled, place one layer on a serving plate. Spread with a generous amount of frosting.
Top with the second cake layer and frost the top and sides of the cake.
Refrigerate the cake for at least 30 minutes before serving.