Preheat the oven to 350ºF. Grease and flour a sheet tray.
In a large mixing bowl, combine the flour, sugar, baking soda, and salt. In a separate mixing bowl, beat the eggs and mix in the sour cream, and vanilla. Add the egg mixture to the flour mixture, mixing until just combined.
In a saucepan over medium-high heat, melt the butter and stir in the cocoa powder, and hot water. Bring the mixture to a boil and then remove from the heat. Cool slightly, and incorporate the cocoa mixture with the dry ingredients, mixing just until blended.
Pour the batter into the prepared pan. Bake for 25 minutes, or until a tester inserted into the center comes out clean. Cool completely.
For the frosting:
In a large heavy-bottomed saucepan over medium heat, melt the butter. Add the peanut butter and mix until smooth. Remove from the heat. In a separate large bowl, whisk together the milk, and powdered sugar until fully incorporated. Stir in the vanilla, and slowly incorporate the peanut butter mixture, blending well after each addition.
Frost the cake while both the frosting and cake are still warm. Top with nuts, if desired.
Sheet Cake Variations:
Chocolate Fudge Frosting: instead of peanut butter frosting, replace peanut butter in frosting recipe with 1/3 cocoa powder. Prepare the frosting the same way.
Toasted Coconut: In addition to topping with nuts, top cake with toasted coconut.
Caramel/Fudge Cake: Drizzle warm caramel sauce and/or fudge sauce over frosting just before serving.