Preheat the oven to 350°F (175°C) and prepare your cake pans.
In a large bowl, cream together the softened butter, granulated sugar, and brown sugar until light and fluffy.
Add the eggs one at a time, mixing well after each addition, then stir in the vanilla extract.
In a separate bowl, sift together the flour, cocoa powder, baking powder, baking soda, and salt.
Gradually add the dry ingredients to the wet mixture, alternating with the buttermilk, mixing until just combined.
Fold in the chopped nuts carefully.
Divide the batter evenly between the prepared cake pans and smooth the tops.
Bake in the preheated oven for 25-30 minutes, or until a toothpick inserted into the center comes out clean.
Allow the cakes to cool in the pans for 10 minutes, then transfer to wire racks to cool completely.
While the cake cools, prepare the whipped cream frosting by beating heavy cream, powdered sugar, and vanilla extract together until soft peaks form.
Once the cakes are completely cool, frost the top of one layer, then stack the second layer on top and frost the top and sides.
Garnish with additional nuts or chocolate shavings if desired, and serve.