In mixing bowl, cream butter with sugar and vanilla, beating until light and fluffy. Add eggs, beating well after each addition.
In a separate bowl, combine flour, cocoa, baking soda, and salt; add to creamed mixture, alternating with buttermilk or sour milk, beating well after each addition. Add boiling water; beat until smooth. Pour batter into two greased and floured 9-inch layer cake pans. Bake at 350° for 30 to 35 minutes, or until a wooden pick or cake tester inserted in center comes out clean. Cool for 10 minutes in pans; remove to racks to cool completely. Frost with chocolate fudge frosting.
Melt butter in a small saucepan over low heat; stir in cocoa. Heat just until mixture begins to bubble, stirring constantly until smooth. Pour into a small mixing bowl. Cool completely. Beat in powdered sugar alternately with milk, beating to spreading consistency. Blend in vanilla. Makes about 2 cups of chocolate fudge frosting.