For the cake: Preheat the oven to 350 degrees F and line two 8-inch nonstick cake pans with parchment paper.
Combine the flour, sugar, cocoa powder, baking soda, baking powder and salt in a large bowl. In a second bowl, whisk together the buttermilk, espresso, coconut oil, vanilla and eggs. Make a well in the dry ingredients and add in the wet mixture, whisking until just combined.
Divide the batter evenly between the two prepared cake pans. Bake on the center rack until puffed, the sides pull away from the edges and an inserted cake tester comes out clean, 30 to 35 minutes. Remove the cakes from the oven, immediately cover them with clean kitchen towels and press any domed portions down¿careful, it's hot! (This will help make sure that you don't have to level the cakes.) Allow the cakes to cool in their pans to room temperature. When completely cooled, invert onto plates.
For the icing: Using a stand mixer fitted with the paddle attachment, cream together the cream cheese and butter on medium speed, about 2 minutes. Turn off the mixer and scrape down the sides with a spatula to ensure everything is evenly mixed. Add the peanut butter and mix on medium speed to combine. Again, turn the mixer off. Mix in the powdered sugar, 1 cup at a time, on LOW speed (or else you'll have powdered sugar everywhere!). Add the vanilla and mix once more.
Transfer the icing to a piping bag. Ice the top of one cake layer, using a circular motion, starting from the outside and gradually moving to the center; do not ice the sides of the cake. Set the second cake layer on top of the first and repeat with the icing; again, do not ice the sides. Drag the back of a spoon in a side-to-side motion across the icing on top to lend a beautifully textured look to the icing.
Sprinkle the iced cake with the chopped peanuts. Store in the refrigerator for up to 3 days.