Preheat oven to 350 degrees. Line a cupcake pan with liners; set aside.
In a medium bowl, whisk together the flour, baking powder, baking soda, and salt. Set aside.
In a large bowl, beat together the eggs and sugar until pale yellow. Add the butter, vanilla bean (or paste), and buttermilk; beat until well combined.
Gradually add the dry ingredients, mixing just until smooth. Pour about 1/4 cup of batter into each cupcake liner. Bake for 18-20 minutes, or until a toothpick inserted into the center of one of the cupcakes comes out clean. Remove cupcakes from the pan and allow to cool on a rack completely before frosting.
Make the frosting:
In a medium bowl, beat the butter with an electric mixer until creamy. Sift 2 cups of the powdered sugar and the cocoa powder into the bowl; add the half-and-half and vanilla and beat until combined. Sift the remaining powdered sugar into the frosting, beating until fluffy. Add more powdered sugar or half-and-half as needed to reach desired consistency.