Preheat oven to 350 degrees F.
In a medium sized mixing bowl, combine the flour, baking powder, salt, sugar and cocoa. Then stir in the melted butter, milk and vanilla. Stir in the walnuts, if desired.
1 cup flour, 2 teaspoon baking powder, 1/2 teaspoon salt, 2/3 cup sugar, 1 1/2 tablespoons cocoa powder, 2 tablespoons butter, 1/2 cup milk, 1 teaspoon vanilla, 1/2 cup chopped walnuts
Spread the mixture into a greased 1.5 qt casserole dish (or square pan). Set aside.
In another bowl, combine the dry topping ingredients (sugar, brown sugar, salt and cocoa). Sprinkle on top of the batter; do not stir.
1/4 cup sugar, 1/2 cup brown sugar, 1/4 teaspoon salt, 2 tablespoons cocoa powder
Pour the boiling water on top; do not stir.
1 cup water
Bake for 30 minutes, or until the top of the cake is almost set. The cake will rise to the top and a pudding will form on the bottom.
Serve warm with ice cream.