Preheat oven to 350 degrees. For the cake, combine the butter, water, and cocoa in a saucepan, and bring to a boil Remove from the heat.
In a mixing bowl, mix together the flour, granulated sugar, baking soda, and salt.
Add the butter mixture all at once, and stir to blend, Whisk the eggs and sour cream together, add to the batter and mix well. pour into 18x12x1 inch pan and bake for 20 minutes.
Just before the cake is done, make the icing. Combine the butter, milk, and cocoa in a large heavy saucepan and bring to a boil. Add the confectioners sugar and vanilla and mix well. ice the cake while it is still warm and top with nuts if desired.