01 - Preheat oven to 350°F (175°C). Grease and flour two 8-inch round cake pans to prevent sticking.
02 - In a large bowl, whisk together all-purpose flour, granulated sugar, cocoa powder, baking powder, baking soda, and salt. In a separate bowl, beat eggs, vegetable oil, milk, and vanilla extract until combined. Pour the wet ingredients into the dry mixture and stir until batter is smooth.
03 - Divide the batter evenly between the prepared pans. Bake for 25 to 30 minutes or until a toothpick inserted into the center comes out clean. Cool in pans for 10 minutes, then transfer to wire racks to cool completely.
04 - With an electric mixer, beat softened butter until creamy. Gradually add powdered sugar, cocoa powder if using, milk, and vanilla extract, mixing until light and fluffy.
05 - Place one cooled cake layer on a serving plate. Spread frosting across the surface, top with the second layer, and frost the top and sides. Decorate with piped designs such as roses or hearts as desired.