Grease and flour a 9x13 pan. Preheat oven to 350 degrees.
In a saucepan, melt butter. Add cocoa and whisk until smooth. Add water and bring to a boil. Remove from heat and sift the flour into the saucepan with the butter mixture. Add the sugar, soda and salt. Add the buttermilk, eggs and vanilla. Whisk until smooth. Pour batter into prepared 9x13 pan. Bake for about 30-35 minutes.
For the frosting:
After making cake batter, rinse saucepan. Melt butter, cocoa and buttermilk in pan. Bring to boil. Add sugar and vanilla, stirring until smooth. Pour over warm cake. Sprinkle with chopped nuts.
Notes
-This cake has many variations: 1. If you want to cut the amount of fat, without losing flavor, substitute 1/2 cup vegetable or canola oil for one of the cubes of butter in the cake batter. 2. Add 1/2 to 1 teaspoon cinnamon to the batter 3. If you don't have buttermilk, sour cream works. 4. Oven temps from 350 to 400 work. Adjust the amount of baking time. 5. Using milk in the frosting instead of buttermilk works. Any type of milk is fine. For the cake, don't sub plain milk for the buttermilk. Use a buttermilk substitute if you don't have any buttermilk. 6. Most recipes for this cake include using chopped nuts and mixing the nuts right into the frosting while mixing. Personally, I don't like this method/presentation. Whenever we see a cake with the nuts mixed right into the frosting, Grant asks me "who ate this before us?" I think it's more appetizing to sprinkle the chopped nuts on top of the cake. :)